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. |