Du hast deinen AdBlocker an?

Es wäre ein Traum, wenn du ihn für t3n.de deaktivierst. Wir zeigen dir gerne, wie das geht. Und natürlich erklären wir dir auch, warum uns das so wichtig ist. Digitales High-five, deine t3n-Redaktion

t3n 16

Drupal leicht gemacht: Mit Modulen und Themes zur individuellen Drupal-Website

Eine der wesentlichen Stärken von Drupal ist die Möglichkeit, vorhandene Funktionalitäten und das Design individuell anzupassen. Einsteiger sind durch die Fülle an Möglichkeiten zur Individualisierung oft erst einmal überwältigt – es braucht ein wenig Zeit, bis man Module, Themes, API und Hooks unter einen Hut bringt. Dann aber eröffnen sich nahezu unbegrenzte Möglichkeiten, denn Drupal ist nicht nur ein CMS, sondern vielmehr ein Content-Management-Framework und eine Software-Architektur zur Erstellung komplexer Webanwendungen.

Alle individuellen Anpassungen werden in Drupal in Module und Themes ausgelagert, sodass der Kern unangetastet bleibt.
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:

php

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.

Links und Literatur

  1. Themes
  2. Drupal Projekt
  3. Module
  4. CCK
  5. Views
  6. Panels
  7. Modulübersicht
  8. Devel
  9. Workflow
  10. Rules

Finde einen Job, den du liebst

Schreib den ersten Kommentar!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden

Hinweis

Du hast gerade auf einen Provisions-Link geklickt und wirst in Sekunden weitergeleitet.

Bei Bestellung auf der Zielseite erhalten wir eine kleine Provision – dir entstehen keine Mehrkosten.


Weiter zum Angebot