Surcharge de template dans Drupal 7

Si vous souhaitez modifier la mise en page d'un contenu, il faut réaliser une surcharge du template.
 

Prenons pour exemple un contenu de type Article pour lequel on souhaite modifier l'apparence.
 

1. Aller dans Stucture -> Types de contenu -> Article
2. Selectionner l'onglet "Gérer l'affichage"
3. Selectionner le type d'affichage dont vous souhaitez modifier l'apparence (Par défaut, Accroche, ...)
4. Selectionner dans l'onglet de gauche "Mise en page pour Article"
5. Selctionner le type de mise en page qui vous convient (point 1 sur l'image) et enregistrer les modifications

A ce moment là, le moteur de template vous indique le fichier tpl.php qui sera appliqué par défaut.
Il vous donne également les noms qu'il faudra lui donner si vous souhaitez l'overrider (point 2 sur l'image).

Nous prendrons dans notre exemple  : panels-onecol--node-blog.tpl.php

6. Copier le fichier sites/all/modules/panels/plugins/layouts/onecol/panels-onecol.tpl.php dans le repertoire sites/all/themes/mon_theme/templates
7. Le renommer en panels-onecol--node-blog.tpl.php comme indiqué au point 2 sur l'image.

 

Etapes optionnelles :
 

Si vous souhaiter modifier les valeurs des classes CSS, il est préférable de procéder de la même manière afin de ne pas toucher au fichier originel :
1. Copier le fichier sites/all/modules/panels/plugins/layouts/oneco/onecol.css dans le repertoire sites/all/themes/mon_theme/css
2. Le renommer en panels-onecol--node-blog.css (par soucis de cohérence)
3. Dans le fichier sites/all/themes/mon_theme/mon_theme.info ajouter la ligne : stylesheets[all][] = css/panels-onecol--node-blog.css

Pour terminer, vider tous les caches.