Eigene node.tpl.php wird nicht angezeigt
am 23.03.2012 - 15:27 Uhr in
Hi,
ich bin ein blutiger Drupal Anfänger und habe mir vor ein paar Tagen eine eigene Drupal Seite aufgesetzt. Nur leider komme ich bei einem Thema seit zwei Tagen nicht weiter und weiß trotz der Anleitungen im Netz nicht was ich falsch mache. Ich versuche mein Vorgehen so detailliert wie möglich zu beschreiben und bin für jeden Hinweis dankbar.
1) Eigenen content type mit Namen test (Machine Name: test) angelegt.
2) Eine Content Seite vom Typ test erzeugt
3) template.php aus meinem Themes Verzeichnis editiert und folgenden Code eingefügt (Ich benutze das Theme Bluemasters):
function bluemasters_preprocess_page(&$vars, $hook) {
if (isset($vars['node'])) {
$vars['theme_hook_suggestions'][] = 'page__'. str_replace('_', '--', $vars['node']->type);
}
}4) Eine Datei mit Namen node--test.tpl.php im Theme Verzeichnis erzeugt. Mein Content soll später in diesem Layout angezeigt werden. (Habe auch probiert statt der node--test.tpl.php eine page--test.tpl.php Datei zu erzeugen - auch ohne erfolg...)
5) Browser Cache geleert
6) Über Structure > Content types > test einmal auf speichern geklickt.
Aber egal was ich mache Drupal greift immer auf das Standardlayout zurück. Was mache ich falsch?
Gruß
Alex
- Anmelden oder Registrieren um Kommentare zu schreiben

Schritt 3 ist nicht nötig.Es
am 23.03.2012 - 15:59 Uhr
Schritt 3 ist nicht nötig.
Es reicht, eine node--test.tpl.php im Ordner des Themes zu erstellen und den Cache zu löschen.
Es muss aber noch eine Kopie der originalen node.tpl.php im selben Ordner sein.
Zitat: und den Cache zu
am 24.03.2012 - 01:54 Uhr
und den Cache zu löschen.
Und dabei ist es ganz wichtig, dass NICHT der Browsercache gemeint ist. Viel wichtiger ist der Drupal-Cache bzw. besser gesagt die Theme-Registry. Drupal "merkt" sich alle individuellen Templates, damit es nicht bei jedem Seitenaufruf prüfen muss, ob's was neues gibt, sondern genau weiß, was verwendet werden kann. Das führt aber dazu, dass neue Dateien nicht einfach so erkannt werden, daher muss man mal die Theme-Registry neu erstellen, damit die neue Datei bekannt ist, dann dürfte alles klappen.
Das leeren der Theme-Registry geht am Einfachsten über das Modul administration Menu, ansonsten dürfte auch ein aufruf der Theme-Seite dazu genügen oder man leert eben mal den gesamten Drupal-Cache.
Vielen Dank für die Hilfe.
am 26.03.2012 - 08:51 Uhr
Vielen Dank für die Hilfe. Jetzt funktioniert es wie gewünscht. Ich habe die ganze Zeit über immer den Browsercache gelöscht und mich gewundert, dass das keinen Effekt hatte.
Viele Grüße
Alex