[gelöst] Eigene .tpl für einen Inhaltstyp "Bilder" mit Header, aber ohne Sidebars. page-bilder.tpl.php oder node-bilder.tpl.php?
am 07.10.2012 - 16:40 Uhr in
Für die Darstellung einer großen Anzahl von Bildern habe ich einen Inhaltstyp "Bilder" erstellt und möchte dafür eine eigene .tpl.php erstellen. Im Forum wird z.B. in http://www.drupalcenter.de/node/30367 empfohlen, aus der bestehenden node.tpl.php eine node-bilder.tpl.php zu gestalten. Soweit ich den Unterschied zwischen der node.tpl und der page.tpl verstehe, definiert die node.tpl den Content-Bereich und die page.tpl das Layout der Seite. Wenn ich also nur die Sidebars weghaben will, dann müßte ich (nach meinem bisherigen Verständnis) eigentlich eine page-bilder.tpl erstellen und dort die Sidebars auskommentieren. Ich hätte dann die volle Breite der Page zur Verfügung, um dort Bilder mit dem CKEditor einzufügen (eventuell mit Lightbox2 anzuzeigen).
In dieser Website wird es nur 2 oder 3 dieser Bilder-Seiten geben.
Meine Frage ist also: page-bilder.tpl.php oder node-bilder.tpl.php?
Danke für Eure Hilfe.
Albert
- Anmelden oder Registrieren um Kommentare zu schreiben
Datentyp geht immer über
am 07.10.2012 - 17:38 Uhr
Datentyp geht immer über node--.....tpl.php. Sieh Dir dazu mal die Seite zu Template Sugestions an. Was Du möchtest läßt sich mittels Page Manager und Panels realisieren. Sieh Dir dazu die Videotutorials von NodeOne an.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Wenn du die Sidebar löschen
am 07.10.2012 - 18:29 Uhr
Wenn du die Sidebar löschen willst, brauchst du eine eigene page-....tpl.php
Schau mal in deine template.php-Datei und suche nach folgendem Eintrag.
<?php
function phptemplate_preprocess_page(&$variables) {
if ($variables['node']->type != "") {
$variables['template_files'][] = "page-node-" . $variables['node']->type;
}
?>
Falls er nicht vorhanden ist bitte reinkopieren (ohne PHP-Tags) und template.php hochladen.
Mit diesem Code kannst du für jeden Inhaltstypen eine eigene page.tpl.php verwenden
Nodetyp "Bilder" = page-node-bilder.tpl.php
Nodetyp "Bilder suchen" = page-node-bilder_suchen.tpl.php
etc.
Danach die Theme-Registry löschen - die page.tpl.php kopieren/duplizieren und die Kopie page-node-bilder.tpl.php benennen (wenn dein Inhaltstyp "Bilder" heißt)
Lösche die Sidebar ... Template hochladen - event. nochmal Theme-Registry löschen ... fertig!
Drupal rockt!!!
Wird geprüft
am 07.10.2012 - 23:16 Uhr
Danke an beide,
Im Code für die template.php fehlte die 2. Abschußklammer. Ich werde mir das genauer ansehen und berichten.
Herzliche Grüße
Albert
Bitte darauf achten welche
am 08.10.2012 - 09:49 Uhr
Bitte darauf achten welche Version von Drupal eingesetzt wird. Bei Drupal 6 müssen die Templates folgendermaßen benannt werden:
node-bilder.tpl.php und page-bilder.tpl.php
In Drupal 7 ist dies zu "--" geworden, also:
node--bilder.tpl.php und page--bilder.tpl.php
sense-design | online solutions | Do not hack core!
Drupalcenter Verhaltensregeln | Threads bitte auf [gelöst] stellen.
DP6.25
am 08.10.2012 - 11:01 Uhr
Danke, zunächst konzentriere ich mich auf die DP6.x Webseite. Dein Tipp für DP7.x war für mich sehr wertvoll.
Herzliche Grüße
Albert