Drupal leicht gemacht: Mit Modulen und Themes zur individuellen Drupal-Website
• Lesezeit: 6 Min. Gerade keine Zeit? Jetzt speichern und später lesen

Alle individuellen Anpassungen werden in Drupal in Module und Themes ausgelagert, sodass der Kern unangetastet bleibt.
Das Erscheinungsbild einer Drupal-Webseite lässt sich durch Themes [1] komplett individuell anpassen. Darin können alle CSS-Definitionen, JavaScripts und HTML-Vorlagen neu definiert und verändert werden. Die Standard-Template-Engine ist PHPTemplate. Drupal [2] verwendet Template-Dateien, die für bestimmte Inhaltstypen oder Elemente den entsprechenden HTML-Code liefern. Neben diesen Dateien gehört zu einem Theme noch die .info-Datei, die Namen, Regionen und Funktionalitäten deklariert.
Die Funktionalitäten definieren, welche Standard-Drupal-Elemente das Theme unterstützt, beispielsweise Slogan, Searchbox oder Faviconund, und können in der Theme-Administration verwaltet werden. Die Deklaration der Regionen bestimmt die Bereiche für die Blöcke und Nodes. Jeder Region können in der Block-Administration entsprechende Blöcke zugewiesen werden.
Eine weitere Datei namens „template.php“ enthält die gesamte Logik eines Themes. Hier werden die Funktionen deklariert, die das Template verwendet. Im folgenden Beispiel wird die Breadcrumb-Anzeige in der Datei „template.php“ überschrieben:
function phptemplate_breadcrumb($breadcrumb) { if (!empty($breadcrumb)) { return '<div class="breadcrumb">'. Implode(' » ', $breadcrumb) .'</div>'; } }
Listing 1
Wie bestimmte Inhalte einzelner Module gerendert werden, bestimmen die Theme-Funktionen (theme_funktionsname). Jedes sauber programmierte Drupal-Modul benutzt eine solche Funktion, um Inhalt mit HTML-Tags zu versehen. Die Theme-Functions können in der Datei „template.php“ neu deklariert und so in den Original-Modulen überschrieben werden. Auf diesem Wege kann man die komplette Kontrolle der Ausgabe übernehmen, ohne Code im Drupal-Core oder in den Modulen zu verändern.
Auch eine Drupal-Seite lebt von ihren Inhalten. In Drupal ist jeder Datensatz ein so genannter „Node“, dessen Grundgerüst aus Titel, Text und Verwaltungsinformation besteht. Um dieses Grundgerüst zu erweitern, gibt es diverse Module [3]. Wir gehen hier auf CCK, Views, Panels, Workflow und Rules ein.
Bitte beachte unsere Community-Richtlinien
Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.
Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.
Dein t3n-Team