Comment créer en 5 minutes un template pour chaque type de contenu dans Drupal 7, A Unix Mind In A Windows World

Devoir créer des templates différents pour chaque type de contenus d’un site web Drupal est une tâche relativement commune pour tout intégrateur web.

La méthode la plus répandue consiste à créer une page dénommée page—typedecontenu.tpl.php, pour chaque type de contenu à mettre en forme. Cette méthode présente un certain désavantage, dans le sens où le modèle précédemment crée ne s’applique pas aux nodes du type de contenu concerné. En d’autres termes, les pages crées avec cck, view ou display suite respecteront le modèle page—typedecontenu.tpl.php , mais les nodes  respecteront les modèles page.tpl.php

Je me propose aujourd’hui de vous montrer comment corriger cela. Pour ce faire: 

  1. Ouvrez le fichier template.php de votre template
  2. Saisissez la fonction suivant yourtheme_preprocess_page (où yourthemename désigne le nom de votre thème.

function yourthemename_preprocess_page(Dans l’éventualité où celle ci existerait déjà dans le fichier, ajouter 

function yourthemename_preprocess_page(&$vars) {

if (isset($vars[‘node’]->type)) {

$vars[‘theme_hook_suggestions’][] = ‘page__’ . $vars[‘node’]->type;

}

}

Voila. Une votre fichier page—typedecontenu.tpl.php créé, il s’appliquera à l’ensemble de vos contenus 

Jean Luc Houedanou