logo

Palette - Mach es bunt🎨

Palette - Visueller Page Builder. Keine Designkenntnisse nötig.

Live-Demo Palette herunterladen

Scroll

page-content-type.tpl.php separates Template für Inhaltstyp

26/05/2025, by Ivan

Wahrscheinlich haben Sie schon mehrmals separate Templates für Ihre Nodes erstellt, indem Sie diese als node-content-type.tpl.php überschrieben haben.

Manchmal reicht das aus, aber manchmal muss man für einen bestimmten Inhaltstyp ein spezielles Template festlegen. Leider ist das in Drupal 6 ohne zusätzlichen Code nicht möglich. Um unsere neuen Templates für Inhaltstypen wie page-content-type.tpl.php zum Laufen zu bringen, müssen Sie den folgenden Code in die Datei template.php einfügen:

function phptemplate_preprocess_page(&$vars) {
  if (isset($vars['node'])) {
    $vars['template_files'][] = 'page-'. str_replace('_', '-', $vars['node']->type); 
  } 
}

Nun können Sie ein eigenes Template für den Inhaltstyp erstellen, zum Beispiel page-news.tpl.php (wobei news der Maschinenname des Inhaltstyps „Nachrichten“ ist).

Außerdem ist es in Drupal möglich, Templates für Taxonomiebegriffe zu überschreiben, indem man diese Funktion in template.php hinzufügt:

Danach können Sie das Template node-taxonomy.tpl.php im Ordner des aktuellen Themes überschreiben.

function phptemplate_preprocess_node(&$vars) {
  if (arg(0) == 'taxonomy') {
    $suggestions = array(
      'node-taxonomy'
    );
    $vars['template_files'] = array_merge($vars['template_files'], $suggestions);
  }
}