Page Template Suggestion für Content Types (Inhaltstypen)

Manchmal braucht man für einen oder auch mehrere Inhaltstypen (Content Types) ein eigenes Page-Template. Für Node-Templates gibt es standardmäßig node--[type].tpl.php, aber eine Ebene höher – der Page – ist das leider nicht vorhanden.

Um die Vorschläge für Templates um Inhaltstypen zu erweitern, kann der folgende Code in der eigene template.php des Themes verwendet werden (themeName entsprechend noch umbenennen).

function themeName_preprocess_page(&$vars) {
  if (isset($vars['node'])) {
    // If the node type is "blog" the template suggestion will be "page--blog.tpl.php".
    $vars['theme_hook_suggestions'][] = 'page__'. str_replace('_', '--', $vars['node']->type);
  }
}

Danach besteht die Möglichkeit eigene Page-Templates pro Inhaltstyp im Format page--[type].tpl.php anzulegen.