Inhalte an Regionen binden.
Die Regionen, in die Blöcke eingefügt werden können, werden Drupal durch die Einstellungen in der .info Datei zugänglich gemacht. Sie müssen dort durch das Schlüsselwort 'regions
' festgelegt werden. Danach folgt ein maschinenlesbarer Bezeichner in eckigen Klammern. Und dann eine für Menschen gedachte Beschreibung. regions[theRegion] = The region label
Wenn nicht anders angegeben, sind folgende Werte Standard:
regions[left] = Left sidebar
regions[right] = Right sidebar
regions[content] = Content
regions[header] = Header
regions[footer] = Footer
Denken Sie daran, das die internen Namen in Regionsvariablen umgesetzt werden, um in der "page.tpl.php" benutzt zu werden. Im oberen Beispiel für die Standardwerte gibt es zB. die Bezeichnung [left]
welche alle Blöcke die ihr zugewiesen wurden durch die PHP Variable $left
ausgeben kann. Diese Bezeichnung unterliegt den Vorgaben zur Variabelbenamung aus PHP. Bitte stellen Sie sicher, das ihre internen Namen diesem entsprechen.
Die Beschreibung zu einer Region wird dafür benutzt den Block auf der Administrativen Seite "Verwalten > Strukturierung > Blöcke" zu beschreiben.
Hier eine Auflistung der Blöck zum Theme Garland:
Hinweise:
- Man kann template (.tpl.php) Dateien benutzen um alle oder einzelne Blöcke mit speziellem Theming zu versehen.
- Wenn Sie auch nur eine Region angeben, verlieren Sie alle Standardeinstellungen. Um diese Regionen wiederherzustellen, legen Sie sie bitte von Hand wieder mit an.
- Die Reihenfolge, in der die Regionen definiert werden, wird auch in der Liste der Blöcke benutzt. Garland benutzt zum Beispiel die Standardreihenfolge. Beachten Sie die Reihenfolge oben in der Grafik.
- Da Drupal die .info Dateien zwischenspeichert, werden sich Änderungen erst auswirken, wenn der Cache geleert wird.
Hinweise bei einer Aktualisierung der Drupal Version:
- In Druapl 5 und darunter wurden die Regionen durch ThemeName_regions() oder EngineName_regions() gesetzt. Dies ist seit Drupal 6 veraltet.
- Wenn Sie Ihr Theme von einer Version vor Drupal 6 aktualisieren wollen und Ihre Regionsvariablen die Namen
$sidebar_left
und$sidebar_right
haben, ändern Sie diese bitte zu$left
und$right
. - Die Regionsvariable
$footer_message
in Versionen vor Drupal 6 hatte die footer_region mit der "footer message" aus den Einstellungen vermischt. (Einzustellen unter "Verwalten > Einstellungen > Website-Informationen"). Stellen Sie in ihrem Theme für Drupal 6 sicher, das Sie eine eigene Variable mit dem Namen$footer
bereitstellen, da die beiden Inhalte nun getrennt wurden.
Von Hand Quellcode an Regionen zuweisen:
Inhalte können von Hand in Regionen geladen werden, über die drupal_set_content Funktion. Zum Beispiel würde drupal_set_content('header', 'Wilkommen!')
den Text 'Wilkommen!' in die Region "header" laden.
Hies ein nützliches Beispiel, wie man eine Zusammenfassung aller Kommentare in die Region "right" laden kann. Ändern Sie den Präfix "drop" in den Namen ihres Themes. Mehr Informationen zu preprocess functions finden Sie hier.
<?php
function drop_preprocess_comment(&$variables) {
// Setup a few variables.
$comment = $variables['comment'];
$title = l(
$comment->subject,
comment_node_url(),
array('fragment' => "comment-$comment->cid")
);
$new_marker = $comment->new ? t('new') : '';
$by_line = t('by') .' '. theme('username', $comment);
// Form the markup.
$summary = '<div class="comment-sidebar">';
$summary .= "<span class=\"title\">$title $new_marker</span>";
$summary .= "<span class=\"credit\">$by_line</span>";
$summary .= '</div>';
// Set the comment into the right region.
drupal_set_content('right', $summary);
}
?>
Bitte beachten Sie, das Sie die Inhalte die Sie durch diese Funktion setzen sollen vor dem Laden der Block Regionen geschehen muss und das dies durch den Aufruf von template_preprocess_page > theme_blocks > drupal_get_content geschieht.
- Anmelden oder Registrieren um Kommentare zu schreiben
Neue Kommentare
vor 2 Tagen 1 Stunde
vor 3 Tagen 20 Stunden
vor 3 Tagen 21 Stunden
vor 4 Tagen 1 Stunde
vor 4 Tagen 8 Stunden
vor 5 Tagen 21 Stunden
vor 6 Tagen 23 Stunden
vor 1 Woche 1 Stunde
vor 1 Woche 3 Tagen
vor 1 Woche 3 Tagen