Context / Theming Problem is_front - is_node ?
am 16.11.2012 - 12:56 Uhr in
Hallo meine lieben,
ich möchte meine Sidebar nicht auf jeder Seite haben. Deswegen habe ich im page.tpl.php mit is_front eine Abfrage gemach nach dem Schema:
Wenn Startseite, dann gebe Sidebar aus, wenn nicht dann nicht. Bei den anderen Seiten wo ich sie mal brauche packe ich sie einfach mit in ein untergeordnetes Template. Allerdings kann ich in untergeordneten Templates meine Regions nicht einfach so ausgeben, sondern nur mit folgendem Code
<?php
print render(block_get_blocks_by_region('sidebar'));
?>
Jetzt besteht das Problem, dass er mir in einem so erstellten Bereich nicht meine Blöcke anzeigt, die ich via Context Modul einbinde. Er zeigt mir diese Context gebundenen Inhalte nur dann an, wenn ich meine Region via
<?php
print render($page['sidebar']);
?>
einbinde. Deswegen würde ich die Abfrage mit is_start im page.tpl.php jetzt noch erweitern. Ich würde gerne ganz spezifische Abfragen nach ganz bestimmten Seiten machen. Die frage ist, wie ich nach bestimmten Nodes Filtern kann. Also ich will, dass ich (in der page.tpl.php) abfragen kann - Wenn es Node X ist, dann mache das! Dann kann ich die Regions nämlich wieder normal Rendern und mir werden auch die Context gebundenen Inhalte angezeigt. Wie geht das?
- Anmelden oder Registrieren um Kommentare zu schreiben
Für die Startseite kann man
am 16.11.2012 - 13:33 Uhr
Für die Startseite kann man auch das Template page--front.tpl.php verwenden.
Dann braucht man die page.tpl.php nicht verändern.
Wenn du ein "vernünftiges" Theme verwendest, dann kannst du z.B. über das Delta-Modul in Verbindung mit dem Context-Modul für spezielle Nodes Regionen ein- und ausblenden.
Änderungen in der page.tpl.php sind dafür auch nicht notwendig.
Gruß
Berthold Lausch