page-content-type.tpl.php : un template séparé pour un type de contenu
Vous avez probablement déjà créé plusieurs fois des templates spécifiques pour vos nœuds en les surchargeant sous la forme node-content-type.tpl.php.
Parfois, cela suffit, mais parfois pour un type de contenu spécifique, il est nécessaire de définir un template particulier. Malheureusement, dans Drupal 6, cela n'est pas possible sans écrire du code supplémentaire. Pour que nos nouveaux templates pour les types de contenu page-content-type.tpl.php fonctionnent, il faut insérer le code suivant dans le fichier template.php :
function phptemplate_preprocess_page(&$vars) { if (isset($vars['node'])) { $vars['template_files'][] = 'page-'. str_replace('_', '-', $vars['node']->type); } }
Désormais, vous pouvez créer votre propre template pour un type de contenu, par exemple page-news.tpl.php (où news est le nom machine du type de contenu actualités).
Il est aussi possible dans Drupal de surcharger les templates d'affichage des termes de taxonomie en ajoutant la fonction suivante dans template.php :
Après cela, vous pourrez surcharger dans le dossier de votre thème le template node-taxonomy.tpl.php
function phptemplate_preprocess_node(&$vars) { if (arg(0) == 'taxonomy') { $suggestions = array( 'node-taxonomy' ); $vars['template_files'] = array_merge($vars['template_files'], $suggestions); } }