Themes

Um ein neues, eigenes Theme, also ein eigenes Layout für die Drupal-Site, zu erstellen, wird im Theme Ordner (root-Verzeichnis der Drupal Installtion -> themes) ein neuer, beliebig zu benennender Ordner angelegt. In diesem werden folgende *.php Dateien gelegt:

  • page.tpl.php
  • block.tpl.php
  • box.tpl.php
  • node.tpl.php
  • comment.tpl.php
  • evtl. weitere Dateien für spezielle Node-Typen

Zusätzlich wird in diesen Ordner noch ein 150×90 px grosses *.png gelegt, welches dann als Vorschaugrafik innerhalb der Theme Konfiguration dient. Weiterhin sollte in diesem Ordner sich eine Datei style.css befinden, die die entsprechenden Stylesheet Anweisungen enthält. Somit ist gewährleistet, dass der Inhalt und das Design getrennt wird.

Die eigentlichen Daten, in Form von Variablen werden über die phpTemplateEngine geliefert. Jede dieser Dateien beinhaltet vordefinierte Inhaltsvariablen, die nachfolgend innerhalb der Beschreibung der Dateien dargestellt wird.

page.tpl.php

Diese Template-Datei definiert das Grundgerüst der Site. Folgende variablen stehen (ab der Version 5.*) zur Verfügung:

Variable Beschreibung
$base_path Gibt den URL-Pfad der Drupal Basis Installation zurück.
$breadcrumb Zeigt den HTML Code des logischen Link Wges (Breadcrumb Navigation).
$closure Wird benötigt, um dynamisches Javscript darzustellen, das erst aufgerufen wird, wenn die Seite vollständig angezeigt wird.
$content Zur Darstellung des HTML INhalts, der mittels Drupal generiert wird.
$css Ein Array aller CSS-Dateien, die benötigt werden, um die aktuelle Seite anzuzeigen.
$directory Gibt Das Verzeichnis an, in dem das Theme lokalisiert ist (bspw. themes/garland)
$feed_icons Ein String aller Feed Icons der aktuellen Seite.
$footer_message Die Anteige in der Fusszeile entsprechend der Einstellung in der Konfiguration.
$head Mittels der Funktion drupal_get_html_head() erzeugter HTML Code, der benötigt wird um zusätzliche Skripte oder Stylesheet Dateien zu integrieren.
$head_title Der Text, der als Seitentitel angezeigt wird.
$help Dynamischer Hilfe Text; meistens für Adminstrationsseiten.
$is_front Gibt ‘true’ zurück, wenn die Frontpage angezeigt wird. Dies kann genutzt werden, um bspw. die Mission der Site darzustellen.
$language Die Sprache in der die Site angezeigt wird.
$layout Die Nutzung dieser Inhaltsvariablen ermöglicht die unterschiedliche Darstellung durch unterschiedliche Layouts, abhängig davon, wieviele Sidebars ermöglicht werden.
$logo Gibt den Pfad des Logos an, der in der Theme Konfiguration definiert wurde.
$messages HTML Code für den Status und Fehlermeldungen. Werden oben auf der Seite angezeigt.
$mission Gibt den Text der Mission der Site aus. Ist leer, wenn in den Theme Einstellungendie Darstellung ausgeschaltet wurde.
$node (nur für 5.x und nachfolgende Version) Wird ein Node in der gesamten Seite angezeigt, ist $node für das Template verfügbar.
$primary_links (array) Ein Array, welches die Links enthält, entsprechend der Defintion im PHPTemplate spezifischen Konfiguartionsblock.
$scripts (nur 5.x nachfolgend) HTML Code, um Javascript Dateien zu laden und auszuführen.
$search_box Gibt “true” zurück, wenn das Suchfeld aktiviert ist.
$secondary_links (array) Ein Array, dass Links enthält, entsprechend der Definition im PHP-Template spezifischen Block.
$sidebar_left HTML Code für die linke Sidebar.
$sidebar_right HTML Code für die rechte Sidebar.
$site_name Gibt den Namen der Site aus. Ist leer, wenn das Anzeigen in den Settings deaktiviert ist.
$site_slogan Gibt den Slogan der Site aus. Ist leer, wenn die Anzeige in den Settings deaktiviert wurde.
$styles Wird benötigt, um das Stylesheet switching zu ermöglichen. Gibt die benötigten style-Tags aus.
$tabs HTML Code um Tabs oben auf der Site darzustellen.
$title Titel. Ist der Node-Titel. Also die Überschrift des Inhaltselements.