page-content-type.tpl.php — een aparte template voor een inhoudstype
Waarschijnlijk heb je al eens aparte templates gemaakt voor je nodes door ze te overschrijven als node-content-type.tpl.php
.
Soms is dat voldoende, maar in andere gevallen wil je voor een bepaald inhoudstype een eigen paginatemplate instellen. Helaas is dat in Drupal 6 niet mogelijk zonder extra code. Om ervoor te zorgen dat onze nieuwe templates voor inhoudstypen, zoals page-content-type.tpl.php
, werken, moet je de volgende code toevoegen aan template.php
:
function phptemplate_preprocess_page(&$vars) { if (isset($vars['node'])) { $vars['template_files'][] = 'page-'. str_replace('_', '-', $vars['node']->type); } }
Nu kun je een eigen template maken voor een specifiek inhoudstype, bijvoorbeeld page-news.tpl.php
(waarbij news de machine-naam is van het inhoudstype “Nieuws”).
In Drupal kun je ook de template voor de weergave van een taxonomieterm overschrijven door de volgende functie toe te voegen aan template.php
:
function phptemplate_preprocess_node(&$vars) { if (arg(0) == 'taxonomy') { $suggestions = array( 'node-taxonomy' ); $vars['template_files'] = array_merge($vars['template_files'], $suggestions); } }
Daarna kun je in de map van je huidige thema een eigen template node-taxonomy.tpl.php
aanmaken en aanpassen naar wens.