A Unix Mind In A Windows World .

Chroniques tech et pérégrinations digitales. Opinons incluses.

Post Page Advertisement [Top]

Capture d écran 2015 02 08 à 11 03 15 AM

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

Aucun commentaire:

Bottom Ad [Post Page]

| Designed by Colorlib | (Heavily) Modified by Jean Luc Houedanou