В теме оформления сайта на Drupal 7 можно переопределять шаблоны нод конкретного типа материала (node--TYPE.tpl.php) или конкретных нод (node--NID.tpl.php), однако нередко возникает задача создания шаблона для конкретного режима отображения ноды, например анонса (teaser) или любого другого, который можно задать самостоятельно с помощью хука hook_entity_info_alter или с помощью различных модулей. В таком случае определить шаблон для конкретного режима отображения ноды можно с помощью следующего кода в файле template.php:
* Implements template_preprocess_node().
*/
function THEME_preprocess_node(&$vars) {
$vars['classes_array'][] = 'node-' . $vars['type'] . '-' . $vars['view_mode'];
$vars['theme_hook_suggestions'][] = 'node__' . $vars['type'] . '__' . $vars['view_mode'];
}
Теперь можно создать в папке с темой, например, следующий шаблон - node--product--teaser.tpl.php - для темизации анонсов материалов типа с машинным именем product. Также приведенный выше код добавляет к обертке ноды дополнительный стилевой класс, что может оказаться полезным для верстки.