J'ai créé une nouvelle classe de contenu Article, et je souhaite modifier le template utilisé pour les articles.
Je dois d'abord commencer par déclarer mon extension comme une extension de design,
dans le fichier design.ini.
Exemple de fichier extension/mon_extension/settings/siteaccess/site/design.ini.append.php :
<?php /* #?ini charset="utf-8"?
[ExtensionSettings]
DesignExtensions[]=mon_extension
*/ ?>
Ensuite, il faut déclarer les règles de surcharge que l'on souhaite appliquer,
dans le fichier override.ini.
Exemple de fichier extension/mon_extension/settings/siteaccess/site/override.ini.append.php :
<?php /* #?ini charset="utf-8"?
[full_article]
Source=node/view/full.tpl
MatchFile=node/view/full/article.tpl
Subdir=templates
Match[class_identifier]=article
*/ ?>
- On définit une section
full_article, pour surcharger l'affichage pleine page (full) des articles. - La source définit le template à surcharger. Dans le cas de l'affichage full,
c'est
node/view/full.tplqui est surchargé. Matchfiledéfinit le template qui remplacera celui par défaut.Subdirdéfinit dans quel sous-dossier deextension/mon_extension/design/mon_design/override/lematchfilesera recherché.- Le
Match[class_identifier]définit pour quelle(s) classe(s) de contenu la règle de surcharge doit s'appliquer.
Dans mon extension, j'ai donc :
mon_extension
| settings
| siteaccess
| site
| design.ini.append.php
| override.ini.append.php
| override
| templates
| node
| view
| full
| article.tpl
Remarque :
La liste des Match disponibles en fonction du template à surcharger est visible dans la documentation officielle.