[gelöst] page.tpl.php mit 'Wildcard' oder abhängig von URL Alias
am 15.07.2010 - 06:51 Uhr in
Hi Miteinander,
habe hier grade im forum geschaut, konnte aber leider nichts in der Richtung finden. Ich möchte abhängig vom Pfad verschiedene tpl dateien benutzen. Das ist soweit ja auch alles im Drupal Theming Guide beschrieben. Allerdings finde ich keine Möglichkeit alle Seiten (Kunde, singular) unterhalb einer Hauptseite (Kundenauflistung) eine andere page.tpl anzudrehen. Kann ich da irgendwie ein Wildcard benutzen? Sprich: "Benutze Template A auf der Startseite(/) und auf allen Kunden Unterseiten (/kunden/kunde-a), jedoch nicht in der Auflistung der Kunden (/kunden)."
Oder gehe ich hier prinzipiell das Theming falsch an? :)
Danke schonmal und beste Grüße,
Milchbar.
- Anmelden oder Registrieren um Kommentare zu schreiben
page vs node
am 15.07.2010 - 07:13 Uhr
Hallo.
Ich gehe mal davon aus, dass "Kunde" ein eigener Inhaltstyp ist. Somit wird das Layout dieses Inhaltstypen von der node.tpl.php bzw. von einer node-kunde.tpl.php übernommen.
Die page.tpl.php und ihre Ableitungen sind nur für den generellen Seitenaufbau zuständig, die einzelnen Elemente (Blöcke, Nodes, etc.) werden über eigene Templates verarztet.
Siehe dazu auch Core templates and suggestions.
hth,
Stefan
Hey Stefan
am 15.07.2010 - 07:37 Uhr
In der Tat, es ist ein eigener Inhaltstyp. Das Problem ist, das ich im Header meines Templates etwas verändern muss, also sich der "generelle Seitenaufbau" durchaus unterscheidet. Das geht meines Wissens nicht über die node.tpl.php (die ja nur für den $content bereich zuständig ist). Auf der Seite finde ich dementsprechend wenig Infos zu meinem Problem.
Für andere Tipps bin ich weiterhin offen! :)
Danke und Gruß,
Milchbar.
[gelöst]
am 15.07.2010 - 07:54 Uhr
Habs jetzt über die template.php gelöst.
<?php
function phptemplate_preprocess_page(&$vars) {
// Add per content type pages
if (isset($vars['node'])) {
// Add template naming suggestion. It should alway use hyphens.
// If node type is "custom_news", it will pickup "page-custom-news.tpl.php".
$vars['template_files'][] = 'page-'. str_replace('_', '-', $vars['node']->type);
}
}
?>
Vielen Dank nochmal für die Hilfe!