Drupal benötigt eine eindeutige Differenzierung der Themes. Wählen Sie daher den gleichen Namen für das Theme-Verzeichnis, die Theme.info und den Themenamen der in der .info-Datei definiert wird. So ist gewährleistet, dass das Überschreiben von Funktionen die Sie für künftige Themes anders haben wollen, problemlos funktioniert. Der Theme-Devoloper schlägt Funktionsnamen beispielsweise anhand des Namens der .info-Datei vor, wohingegen die Theming-Auswahl sich an dem darin definierten Namen des Themes orientiert.
Ein anderer Verzeichnisname alleine genügt Drupal nicht, Themes voneinander abzugrenzen. Tilgen Sie den Namen des originalen Themes umgehend aus den Dateien einer etwaigen Zwischenkopie die Sie im Theme-Verzeichnis belassen wollen und benennen Sie auch die .info-Datei um. Es kann wegen der Namensgleichheit zu Verwirrungen führen, wenn Drupal die Theme-Dateien mischt. Das macht sich zum Beispiel bemerkbar, wenn Sie eine Funktion ändern oder löschen, und Drupal sie sich aus dem Nachbartheme holt, so dass sich etwaige Fehler in den Änderungen nicht gleich bemerkbar machen. Auf diese Weise habe ich mal ein Theme zerschossen.
Es ist nicht nötig, mit Template-Dateien anzufangen. Denn eigentlich sind sie ja schon da - enthalten im Drupalkern. Was es im aktivierten Theme nicht findet, holt sich Drupal aus seiner Basisausstattung. Dasselbe werde ich auch tun, nämlich mir die Template-Dateien zusammensuchen die bereits da sind. Doch zuerst lege ich einen Ordner für mein neues Theme an, und zwar hier: drupal6\sites\all\themes\ernst. Beim ersten Mal muss auch der themes-Ordner angelegt werden.
Damit Drupal erkennt, dass ein neues Theme da ist, benötigt es nur eine Datei themename.info - ich nenne sie kurzerhand ernst.info und versehe sie mit folgenden Zeilen:
; $Id: ernst $
name = ernst
description = Drupal Theme
core = 6.x
engine = phptemplate
PHPtemplate ist die Theme-Engine von Drupal. Sie befindet sich unter drupal6\themes\engines\phptemplate. Dort kann sie auch bleiben. Sie muss weder verschoben, noch sollte sie angefasst oder verändert werden.
Kaum zu glauben, aber bereits jetzt kann ernst aktiviert werden, obwohl er eigentlich noch keinen eigenen Inhalt hat.

Zugegeben, das Ergebnis sieht wenig einladend und nach verdammt viel Arbeit aus.

Mit ein bisschen CSS sind die untereinander positionierten Divs aber rasch gezähmt. Die Datei style.css gehört in den Theme-Ordner und wird von Drupal automatisch einbezogen, sobald sie da ist.
body {
background-color:#f3f3f3;
color:#333;
font-family:Arial,Helvetica,Verdana,Sans-Serif;
}
#page {
background-color:#fff;
margin:auto;
width:960px;
}
/* Divs nebeneinander anordnen */
#sidebar-left,
#main,
#sidebar-right {
float: left;
margin:0 5px 0 5px;
}
/* Breite der Sidebars bestimmen */
#sidebar-right,
#sidebar-left {
width: 200px;
}
/* Breite des Contents bei zwei Sidebars (dynamisch generierte Klasse) */
.two-sidebars #main {
width: 520px;
}
/* Breite des Contents bei einer Sidebar (dynamisch generierte Klasse) */
.one-sidebar #main {
width: 720px;
(keine Konstruktion für den Echtbetrieb)
Zwischenstand:

Das ist schon wesentlich übersichtlicher. Jetzt geht es ans Einsammeln der Template-Dateien als Ausgangsmaterial für das eigentliche Theming. Ich kopiere(! Achtung, nicht verschieben - um Drupaltemplates oder Theme-Funktionen zu überschreiben sollen die Originale weder verändert noch verschoben werden - jedwede Änderung an Originaldateien wäre außerdem nach dem nächsten Update obsolet) einfach die von Drupal in mein Theme hinein, weil ich dann davon ausgehen kann, einfwandfrei funktionierende Basis-Templates zu haben, die ich nach den jeweiligen Anforderungen an ein Theme anpassen kann.
aus drupal6/modules/system folgende Templates kopieren und ins eigene Theme-Verzeichnis einfügen:
- block.tpl.php (Blöcke)
- box.tpl.php (Kommentare-Formular)
- page.tpl.php (Seitentemplate)
in drupal6/modules/node verbirgt sich die
in drupal6/modules/comment finden Sie die Datei
Damit ist die Grundausstattung für das neue Theme komplett. Das verändert vorerst nichts am Status, doch was ich nun in den Dateien innerhalb meines Theme-Ordners verändere, wird sich im Layout bemerkbar machen.
