page-content-type.tpl.php separates Template für Inhaltstyp
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);
}
}