Mehrere Seiten ein anderes template laden
am 06.04.2014 - 13:45 Uhr in
Hallo,
damit für jede Seite ein anderes template gefunden wir habe ich was gefunden. Nur leider
nicht damit mehrere Seiten das gleiche Template laden.
Derzeit habe ich für 3 Unterseiten ein eigenes page Template angelegt und die Startseite hat auch ein eigenes Template "page.tpl.php. Die 3 Unterseiten haben ein template das identisch ist "page--a.tpl.php" "page--b.tpl.php" "page--c.tpl.php".
function bootstrap_subtheme_preprocess_page(&$vars) {
if (isset($vars['node']->type)) { // We don't want to apply this on taxonomy or view pages
// Splice (2) is based on existing default suggestions. Change it if you need to.
array_splice($vars['theme_hook_suggestions'], -1, 0, 'page__'.$vars['node']->type);
// Get the url_alias and make each item part of an array
$url_alias = drupal_get_path_alias($_GET['q']);
$split_url = explode('/a', $url_alias);
// Add the full path template pages
// Insert 2nd to last to allow page--node--[nid] to be last
$cumulative_path = '';
foreach ($split_url as $path) {
$cumulative_path .= '__' . $path;
$path_name = 'page' . $cumulative_path;
array_splice($vars['theme_hook_suggestions'], -1, 0, str_replace('-','_',$path_name));
}
// This does just the page name on its own & is considered more specific than the longest path
// (because sometimes those get too long)
// Also we don't want to do this if there were no paths on the URL
// Again, add 2nd to last to preserve page--node--[nid] if we do add it in
if (count($split_url) > 1) {
$page_name = end($split_url);
array_splice($vars['theme_hook_suggestions'], -1, 0, 'page__'.str_replace('-','_',$page_name));
}
}
...die gleiche if anweisung für path b und c
if (isset($var........
}
Gerne würde ich das path a b und c das template a laden.
Für Hilfe und Antworten danke ich jetzt schon.
- Anmelden oder Registrieren um Kommentare zu schreiben
Schau dir mal das context
am 06.04.2014 - 14:32 Uhr
Schau dir mal das context Modul an. Damit geht das bestimmt. Du kannst Pfadmuster oder andere Bedingungen setzen für die themeauswahl.
– Grüße aus Franken –
"Eine Entscheidung ist dann eine gute Entscheidung, wenn Sie zu mehr Möglichkeiten führt.”
Heinz von Foerster (Kybernetiker)
www.bienlein-kommunikation.de
Hi, sieht schon sehr gut aus
am 06.04.2014 - 15:59 Uhr
Hi,
sieht schon sehr gut aus mit Contetx Modul. Leider komme ich auf die Reaktions nicht klar wie ich ein anderes tpl da hinzufügen kann.
Habe dementsprechen "Context Node Template" gefunden und es würde mir weiter helfen aber leider benötigt es das Modul "Node Page Template" welches nicht in drupal 7 verfügbar ist.
Für Context Modul steht unten als Reaction "Theme Page" und "Theme HTML".
Theme Page:
Section title
("Eingabe Feld")
Provides this text as a $section_title variable for display in page.tpl.php when this context is active.
Section subtitle
("Eingabe Feld")
Provides this text as a $section_subtitle variable for display in page.tpl.php when this context is active.
Theme HTML:
Section class
("Eingabe Feld")
Provides this text as an additional body class (in $classes in html.tpl.php) when this section is active.
Leider ist hier keine Eingabe welche tpl.php er laden soll.