Templates pour nos pages basées sur un type de node

Etiquettes :
thème

Nous avons parfois besoin d’une template page.tpl.php pour chaque type de node (page-[type].tpl.php). Par exemple une template différente pour nos nodes de type ‘Blog’ (page-blog.tpl.php) et une autre pour nos nodes de type ‘montype’ (page-montype.tpl.php).

Si Drupal nous propose par défaut (Template Suggestion) des templates node-[type].tpl.php, il n’en va pas de même pour les templates des pages.

Pour ajouter (ou suggérer) des templates pour nos pages, il nous suffit d’insérer le code suivant dans notre fichier template.php de notre thème.

N’oubliez pas de remplacer themeNom par le nom de votre thème.

<?php
function themeNom_preprocess_page(&$vars, $hook) {
if (isset($vars['node'])) {
// Si le type de node est "blog" la template proposée sera "page-blog.tpl.php".
$vars['template_files'][] = 'page-'. str_replace('_', '-', $vars['node']->type);
}
}
?>

Pour plus d'information:

Working with template suggestions - http://drupal.org/node/223440
Page templates depending on node type - http://drupal.org/node/249726

Si vous avez une question, n'hésitez pas à envoyer un commentaire.

Votre notation : Aucun Moyenne : 4.3 (7 votes)