node - [typ | nodeid] .tpl.php kieruje do domyślnego trybu widoku węzła. Chcę jednak zastąpić szablon w trybie widoku zwiastuna.
Jaka jest sugestia szablonu (plik .tpl.php) dla trybu widoku zwiastuna?
Nie wydaje mi się, aby taki był domyślnie, ale można go łatwo dodać do pliku 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';
}
}
To pozwoli ci użyć pliku szablonu, takiego jak: node--[type|nodeid]--teaser.tpl.php
Jest na to łatwiejszy sposób dzięki modułowi trybów widoku encji.
https://www.drupal.org/project/entity_view_mode
źródło
Propozycja szablonu dla trybu widoku „zwiastuna” to:
Domyślnie tryb widoku „zwiastuna” używa zwykłego
node.tpl.php
szablonu, więc możesz skopiować ten plik, aby rozpocząć.Wszystkie sugestie dotyczące szablonów można zobaczyć, włączając
theme_debug
tryb, https://www.drupal.org/node/223440#theme-debugPodczas przeglądania źródła: na stronie powinieneś zobaczyć komentarze HTML, które pokazują całą listę sugestii szablonów rozważanych przez Drupala.
źródło
Rozwiązanie Clive jest poprawne. Ale jeśli chcesz, aby nowe sugestie były oceniane po sugestiach domyślnych, musisz je dodać w ostatnich pozycjach tablicy:
W ten sposób unikasz, że twój węzeł zwiastuna jest zgodny (i używa, jeśli istnieje) węzeł - [typ] .tpl.php przed węzłem - [typ] - teaser.tpl.php
źródło