Drupal 6 Themen – Ein Kinderspiel


Themen ist in Drupal 6 echt ein Kinderspiel. Voraussetzungen: Man kennt ein kleines bisschen PHP.

Themen und Drupal kennt verschiedene Stufen:

1. Stufe: die tpl Dateien. Dazu gehören page.tpl.php und node.tpl.php. Hier kann man relativ einfach Veränderungen zustande bringen, ohne sich mit PHP abmühen zu müssen. Ein wenig HTML und viel CSS und schon hat man die Seite seinen eigenen Bedürnissen entsprechend angepasst.

Doch was ist, wenn kleinere Elemente nicht ins Design passen? Was, wenn man z.B. für die primary Links einen bestimmten Markup benötigt, um gewisse Dinge vollbringen zu können?

2. Stufe: Theme Funktionen überschreiben. In den Modulen wird (sollte) jegliche HTML Ausgabe über eine Theme funktion augerufen werden, welche in etwa wie folgt ausschaut:

Die Funktion, welche sich dann im Module meistens auch finden lässt würde wie folgt aussehen:

<?php function theme_myModule_foo($arg){
//hier wird irgend etwas mit dem Argument gemacht
//damit es so aussieht, wie man will.
return '

'.$arg.'

';
}
?>

Diese Funktion lässt sich jetzt sehr einfach überschreiben. In der Datei Template.php würde das dann wie folgt aussehen:

<?php
myTheme_myModule_foo($arg){
return '

'.$arg.'

';
}?>

So, jetzt wird nicht die Original Theme Funktion aufgerufen, sondern die eigene.

Vorteil von Drupal 6: In Drupal 5 musste man diese Funktionen bisher mühsam zusammen suchen, bzw. diese einfach kennen. Der Theme Developer ist genial. Einmal aktiviert kann man lediglich ein Element anklicken und sieht sogleich wie die dazugehörige Theme Funktion heisst und welche Theme Funktionen man benutzen kann, um diese zu überschreiben. Bei den Core Funktionen hat man zudem noch einen Link zur Original Theme Funktion. Oftmals ist es nämlich einfach diese entsprechend abzuändern als diese von Grund auf neu zu schreiben.

Einfach mal ein wenig damit spielen… die Resultate sind sehr überzeugend. Der Theme Developer gibt zudem auch noch die möglichen Variablen aus, falls es sich um eine tpl. Datei handelt…

Das Tutorial war zwar nicht sehr ausführlich und ohne Screenshots, aber wenn man die Logik begriffen hat, dann muss man einfach mal ein wenig rumspielen und dann hat man es raus und dann macht Themen erst richtig Spass!