Как добавить template suggestion для поля в тизере

ivnish 17 февраля в 14:17
1

Возникла задача: изменить шаблон поля, но только в тизере ноды. По умолчанию ядро дает suggestion просто для типа материала, без view mode.

Чтобы получить более расширенные suggestions, добавляем в кастомный модуль или в тему оформления:

<?php
/**
 * Implements hook_theme_suggestions_field_alter().
 */
function MYMODULE_theme_suggestions_field_alter(&$suggestions, array $variables) {
  
$element $variables['element'];
  
$suggestions[] = 'field__' $element['#entity_type'] . '__' .
    
$element['#field_name'] . '__' $element['#bundle'] . '__' .
    
$element['#view_mode'];
}
?>

Сбрасываем кэш и получаем suggestions, которые собержат view mode

Автор

ivnish Drupal FullStack Developer, модератор drupal.ru

Комментарии

Аватар пользователя zvse zvse 18 февраля в 7:59

у меня такая функция есть чуть ли не в каждом проекте

Иногда мне кажется, что надо собирать какой-то модуль с подобными штуками, которые встречаются вообще повсюду и просто реквайрить его с помощью композера, чтобы не копировать из раза в раз это, раз уж в ядро это не добавляют

Аватар пользователя ivnish ivnish 21 февраля в 20:33

У Андэда есть "такой" модуль, но не знаю, есть ли там этот код, не смотрел