Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module ›

Display Suite custom Layout (footer outside of the wrapper div)

Eingetragen von Globetrotter (19)
am 29.03.2014 - 19:45 Uhr in
  • Module
  • Drupal 7.x oder neuer

Hallo zusammen

Ich versuche gerade ein eigenes Layout für Display Suite zu generieren das zwingt aber meine Installation jedes mal in die Knie.
Vorne weg ich bin kein php master ... verstehe gerade mal so viel wie man mit HTML/CSS Kenntnissen aus dem Code herauserkennen kann und ansatzweise interpretieren.

Ich hab mir das "ds_2col_stacked_fluid" aus dem "ds" Ordner raus kopiert und den footer nach ausserhalb des " layout_wrapper-div's" verschoben, bin nicht sicher ob drupal das nicht mag oder ob das Problem bei der .inc Datei liegt?

Kan mir da jemand weiter helfen?

Bei der ganzen Aktion gehts darum das ich im footer meines teasers, social-media links platziert habe und da das ganze div als link zum Inhalt funktioniert gibts da ein Problem, und zwar wen immer jemand ein "share-bottom" druckt dan wird er auch gleichzeitig zum Inhalt weitergeleitet (onclick -> node) daher wäre das super wen ich den footer ausserhalb platzieren könnte.

Sollte es ev. eine noch bessere Lösung geben wäre ich natürlich auch Glücklich!

Dies ist das tpl.php (original) ich hab dan die 4 footer Zeilen auserhalb des layout_wrapper divs platziert und die .inc datei zusammen geschnippselt ...

<?php

/**
* @file
* Display Suite fluid 2 column stacked template.
*/

  // Add sidebar classes so that we can apply the correct width in css.
 
if (($left && !$right) || ($right && !$left)) {
   
$classes .= ' group-one-column';
  }
?>

<<?php print $layout_wrapper; print $layout_attributes; ?> class="ds-2col-stacked-fluid <?php print $classes;?> clearfix">

  <?php if (isset($title_suffix['contextual_links'])): ?>
  <?php print render($title_suffix['contextual_links']); ?>
  <?php endif; ?>

  <<?php print $header_wrapper ?> class="group-header<?php print $header_classes; ?>">
    <?php print $header; ?>
  </<?php print $header_wrapper ?>>

  <?php if ($left): ?>
    <<?php print $left_wrapper ?> class="group-left<?php print $left_classes; ?>">
      <?php print $left; ?>
    </<?php print $left_wrapper ?>>
  <?php endif; ?>

  <?php if ($right): ?>
    <<?php print $right_wrapper ?> class="group-right<?php print $right_classes; ?>">
      <?php print $right; ?>
    </<?php print $right_wrapper ?>>
  <?php endif; ?>

  <<?php print $footer_wrapper ?> class="group-footer<?php print $footer_classes; ?>">
    <?php print $footer; ?>
  </<?php print $footer_wrapper ?>>

</<?php print $layout_wrapper ?>>

<?php if (!empty($drupal_render_children)): ?>
  <?php print $drupal_render_children ?>
<?php endif; ?>

.inc Datei

<?php
<?php
function ds_2col_stacked_fluid_ex_footer() {
  return array(
   
'label' => t('2col stacked fluid ex footer'),
   
'regions' => array(
     
'header' => t('header'),
     
'left' => t('Left'),
     
'right' => t('Right'),
     
'footer' => t('footer'),
    ),
   
// Add this line if there is a default css file.
   
'css' => TRUE,
   
// Add this line if you're using DS 2.x for icon preview
   
'image' => TRUE,
  );
}
?>

‹ TinyMCE 4.0.21 und Wysiwyg Display Suite custom Layout (footer outside of the wrapper div) ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Niemand keine Idee?

Eingetragen von Globetrotter (19)
am 02.04.2014 - 06:46 Uhr

Niemand keine Idee?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Die Änderungen im .inc File

Eingetragen von landvogt512 (87)
am 02.04.2014 - 07:55 Uhr

Die Änderungen im .inc File sind nicht notwendig. Was ich hier sehe werden lediglich die Regionen und andere Parameter definiert. Deine Änderungen im tpl.php file sollten ausreichend sein. Überschreibst du das File oder verwendest du eine Kopie in dem templates Verzeichnis deines Themes?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielen Dank fur die

Eingetragen von Globetrotter (19)
am 02.04.2014 - 08:57 Uhr

--

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielen Dank fur die

Eingetragen von Globetrotter (19)
am 02.04.2014 - 08:56 Uhr

Vielen Dank fur die Aufmerksamkeit

Ich habe das neue layout in ...meinTheme/ds _layouts, wie es in der doku beschrieben wird.
Das tpl.php da oben ist das original, die version die ich in meinem Verzeichniss habe ist manipuliert ... wie gesagt den footer div habe ich auserhalb des layout_wrappers plaziert.
Wen ich drupal dan starte bekomme ich einen error....

dan ist noch an zu merken das im original Layouts Verzeichniss des DS keine .inc fils vorhanden sind ich habe dieses veil von wo anders her kopiert und den header&footer bereich manuell eingefuegt, das war nur n'rechts/links layout, natuerlich auch noch die namen des layouts geandert usw.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Sorry habe gedacht du

Eingetragen von landvogt512 (87)
am 02.04.2014 - 09:21 Uhr

Sorry habe gedacht du mainpulierst einfach die tpl.php im modul-Verzeichnis (solltest du eh nicht).
Welche Fehlermeldung kommt denn?

Im Prinzip ist das eh sehr simpel:
die tpl.php Datei geht in ein Verzeichnis "ds_layouts" in den root deines Themes-Ordners
und die .inc Datei auch - hier gibts Beispiele wie die .inc aussehen muß: https://drupal.org/node/1098068 - in der .inc definierts du nur deine Regionen.

Passt die Syntax der .tpl.php?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das mit dem simpel hab ich

Eingetragen von Globetrotter (19)
am 02.04.2014 - 09:41 Uhr

Das mit dem simpel hab ich mir anfangs auch gedacht ... und warscheinlich ist es das auch, muss wider mal irgendwo was kleines sein.

Mal vorne weg ... denkst du das wirklich moeglich ist einen teil des codes auserhalb des layout_wrapper div's zu platzieren? Ev. ligt genau da schon das problem das DS das nicht akzeptiert...?

Ansonsten hier mal den genauen code wie er im meinTheme/ds_layouts liegt...

<?php

/**
* @file
* Display Suite fluid 2 column stacked template.
*/

  // Add sidebar classes so that we can apply the correct width in css.
 
if (($left && !$right) || ($right && !$left)) {
   
$classes .= ' group-one-column';
  }
?>

<<?php print $layout_wrapper; print $layout_attributes; ?> class="ds-2col-stacked-fluid <?php print $classes;?> clearfix">

  <?php if (isset($title_suffix['contextual_links'])): ?>
  <?php print render($title_suffix['contextual_links']); ?>
  <?php endif; ?>

  <<?php print $header_wrapper ?> class="group-header<?php print $header_classes; ?>">
    <?php print $header; ?>
  </<?php print $header_wrapper ?>>

  <?php if ($left): ?>
    <<?php print $left_wrapper ?> class="group-left<?php print $left_classes; ?>">
      <?php print $left; ?>
    </<?php print $left_wrapper ?>>
  <?php endif; ?>

  <?php if ($right): ?>
    <<?php print $right_wrapper ?> class="group-right<?php print $right_classes; ?>">
      <?php print $right; ?>
    </<?php print $right_wrapper ?>>
  <?php endif; ?>

</<?php print $layout_wrapper ?>>

<<?php print $footer_wrapper ?> class="group-footer<?php print $footer_classes; ?>">
    <?php print $footer; ?>
  </<?php print $footer_wrapper ?>>
 
<?php if (!empty($drupal_render_children)): ?>
  <?php print $drupal_render_children ?>
<?php endif; ?>

und...

<?php
function ds_2col_stacked_fluid_ex_footer() {
  return array(
    'label' => t('2col stacked fluid ex footer'),
    'regions' => array(
      'header' => t('header'),
      'left' => t('Left'),
      'right' => t('Right'),
      'footer' => t('footer'),
    ),
    // Add this line if there is a default css file.
    'css' => TRUE,
    // Add this line if you're using DS 2.x for icon preview
    'image' => TRUE,
  );
}

Fatal error: Call to undefined function ds_ds.ds_fields_info() in ...\meinTheme\sites\all\modules\ds\includes\ds.registry.inc on line 570

  • Anmelden oder Registrieren um Kommentare zu schreiben

... noch angemerkt wen ich

Eingetragen von Globetrotter (19)
am 02.04.2014 - 09:45 Uhr

... noch angemerkt wen ich die 4 zeilen wider in den layout_wrapper div rein kopiere habe ich immer noch das selbe problem also an dem sollte es erstmal nicht liegen ... der error kommt ja auch nicht aus meinem Theme directory sondern aus dem "modules\ds" ...

  • Anmelden oder Registrieren um Kommentare zu schreiben

In der linie 570 der

Eingetragen von Globetrotter (19)
am 02.04.2014 - 09:49 Uhr

In der linie 570 der ds.registry.inc ist folgender code:

$layouts[$values->name] = $function();

der ganze block (linie 565-573) ist...

function _ds_layouts_scan_theme($theme, &$layouts) {
  $theme_layouts = file_scan_directory(drupal_get_path('theme', $theme) . '/ds_layouts', '/inc$/');
  foreach ($theme_layouts as $file => $values) {
    include_once(DRUPAL_ROOT . '/' . $file);
    $function = 'ds_' . $values->name;
    $layouts[$values->name] = $function();
    $layouts[$values->name]['path'] = str_replace('/' . $values->filename, '', $file);
  }
}

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi ich habe das gerade mit

Eingetragen von landvogt512 (87)
am 02.04.2014 - 10:20 Uhr

Hi ich habe das gerade mit deinen Codestücken getestet. Da gibts kein Problem.

Hast du die Dateien richtig benannt - die .inc - Datei muß mit Unterstrichen geschrieben sein. s.Screenshot
und in der .inc - Datei steht noch ein ds_ Prefix im Namen der Funktion.

AnhangGröße
Unbenannt-1.png 54.72 KB
  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich denke schon das ich die

Eingetragen von Globetrotter (19)
am 02.04.2014 - 10:37 Uhr

Ich denke schon das ich die richtig benannt habe...

Ortner Name im meinTheme/ds_layouts Verzeichniss

"ds_2col_stacked_fluid_ex_footer"

Dateien im Ortner:

ds_2col_stacked_fluid_ex_footer.inc
ds-2col-stacked-fluid-ex-footer.css
ds-2col-stacked-fluid-ex-footer.png
ds-2col-stacked-fluid-ex-footer.tpl.php

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du hast echt den code von da

Eingetragen von Globetrotter (19)
am 02.04.2014 - 10:40 Uhr

Du hast echt den code von da oben bei dir rein kopiert und das hatt funktioniert??? Dan bin ich platt!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ok, versuche mal die ganzen

Eingetragen von landvogt512 (87)
am 02.04.2014 - 10:42 Uhr

Ok, versuche mal die ganzen ds- (bzw. ds_) prefixes von den Datei- und Ordnernamen wegzunehmen.
Oder: setze noch ein zusätzliches "ds_" vor den Funktionsnamen.

Siehe hier: https://drupal.org/node/1098068: Die Files + Ordner werden ohne ds_ bzw. ds- angegeben, die funktion jedoch mit.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Globetrotter schrieb Du hast

Eingetragen von landvogt512 (87)
am 02.04.2014 - 10:44 Uhr
Globetrotter schrieb

Du hast echt den code von da oben bei dir rein kopiert und das hatt funktioniert??? Dan bin ich platt!

Ich habe nur
function ds_2col_stacked_fluid_ex_footer() {
umgeschrieben.
LG

  • Anmelden oder Registrieren um Kommentare zu schreiben

Here we are! Super ... VIELEN

Eingetragen von Globetrotter (19)
am 02.04.2014 - 11:14 Uhr

Here we are!

Super ... VIELEN DANK!

musste ja so einfach sein, sorry das ich deine Zeit in Anspruch genommen habe!
Funktioniert bestens ... dem ersten anschein nach ... hab zwar wider was neues zum kauen, haha, aber so ist das halt wen man lernt :)

Schoenen Tag noch....

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • D 7.78 und eine sqlite Datenbank statt mySQL
  • Versenden von Anfragen per Webform
  • eMail-Adresse überprüfen ob diese auch tatsächlich existiert
  • [gelöst]Welche Tokens werden bei Images im Feld Dateiverzeichnis erlaubt
  • Modulupdate per Webinterace scheitert an authorize.php und access denied für Admin-User
  • Fehlermeldung nach Update auf PHP 7.4 - array offset on value of type null in geocoder_widget...
  • BEF Exposed Filter collapse funktioniert nicht mit Bootstrap Theme
  • content und media-files von drupal8 nach drupal9 migrieren
  • Notificationsnicht immer und gesammelt bei Update
  • Meldung zu Token im Statusbericht
  • Fehlermeldung: Deprecated function
  • Warning: call_user_func() expects parameter 1 to be a valid callback, class 'Drupal\node\Entity\Node' does not have a method 'ge
Weiter

Neue Kommentare

  • bei den meisten Hostern
    vor 8 Stunden 19 Minuten
  • wirklich sicherstellen kann man es nur,
    vor 8 Stunden 23 Minuten
  • Moin Moin vielen lieben Dank
    vor 14 Stunden 1 Minute
  • Auch,wenn es noch über
    vor 18 Stunden 44 Minuten
  • Das steht über dem Bereich,
    vor 18 Stunden 47 Minuten
  • Hallo Jenna, ich habe das
    vor 1 Tag 15 Stunden
  • Ich hatte gehofft, bis auf
    vor 1 Tag 15 Stunden
  • Wenn der Provider keine freie
    vor 1 Tag 15 Stunden
  • Problemeingrenzung
    vor 1 Tag 17 Stunden
  • Ich habe es bei einigen
    vor 2 Tagen 18 Stunden

Statistik

Beiträge im Forum: 245991
Registrierte User: 18833

Neue User:

  • finnster
  • Damian1802
  • MrWebMV

» Alle User anzeigen

User nach Punkten sortiert:
wla9012
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3916
ronald3831
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 2 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association