node - [type | nodeid] .tpl.php cible le mode d'affichage par défaut du nœud. Cependant, je souhaite remplacer le modèle pour le mode d'affichage teaser.
Quelle est la suggestion de modèle (fichier .tpl.php) pour le mode d'affichage 'teaser'?
Je ne pense pas qu'il en existe un par défaut, mais vous pouvez facilement en ajouter un dans votre fichier template.php:
function MYTHEME_preprocess_node(&$vars) {
if($vars['view_mode'] == 'teaser') {
$vars['theme_hook_suggestions'][] = 'node__' . $vars['node']->type . '__teaser';
$vars['theme_hook_suggestions'][] = 'node__' . $vars['node']->nid . '__teaser';
}
}
Cela vous permettra d'utiliser un fichier modèle comme: node--[type|nodeid]--teaser.tpl.php
Il existe un moyen plus simple d’y parvenir, grâce au module Modes de vue de l’entité.
https://www.drupal.org/project/entity_view_mode
la source
La suggestion de modèle pour un mode d'affichage "teaser" est la suivante:
Par défaut, le mode d'affichage "accroche" utilise le
node.tpl.php
modèle standard , vous pouvez donc copier ce fichier pour commencer.Vous pouvez voir toutes les suggestions de modèles en activant le
theme_debug
mode, https://www.drupal.org/node/223440#theme-debug.Lorsque vous affichez la source: sur la page, vous devriez voir des commentaires HTML montrant la liste complète des suggestions de modèles que Drupal a envisagées.
la source
La solution de Clive est correcte. Mais si vous souhaitez que les nouvelles suggestions soient évaluées après les suggestions par défaut, vous devez les ajouter dans les dernières positions du tableau:
De cette façon, vous évitez que votre nœud teaser corresponde (et utilise, s’il existe) nœud - [type] .tpl.php avant nœud - [type] - teaser.tpl.php
la source