Рейтинг:0

Cannot get hook for custom twig template to work

флаг cn

I have a custom template with the following twig file:

views-view-unformatted--offices_contact_us_page_.html.twig

The view is added as part of extra fields module inside of a Drupal paragraph. I have tried everything but simply cannot get the hook to work, however, the .theme file is loaded correctly as I can add an exit to the preprocess_page() function and that works.

I have tried:

  1. _preprocess_views_view_unformatted()
  2. _preprocess_views_view_unformatted__offices_contact_us()
  3. _proprocess_node()
  4. _preprocess_views()

I am able to inject my variables through the _preprocess_page, but then the variable is not available inside the above view, so need to alter that hook. Any ideas as to what I am doing wrong or alternatively is there a way for me to "print" all hooks that are loaded (like their names) during the request so that I can better determine what I am doing wrong?

leymannx avatar
флаг ne
Имена шаблонов обычно не содержат символов подчеркивания. Тоже не в конце. Если поставить `` в шаблон он печатается или нет? Вы включили отладку Twig? Там вы увидите рядом с шаблоном предложения, какой хук вы можете подключить. Где именно вы разместили хуки? И как именно они называются? Пожалуйста, обновите свой вопрос.
флаг cn
Если представление имеет завершающее подчеркивание в имени, предварительный процесс должен соответствовать, например. `_preprocess_views_view_unformatted__offices_contact_us_()`
Рейтинг:0
флаг ru

вы можете попытаться отладить возможное имя хука. Для этого необходимо включить отладку шаблонов Twig. Вы можете включить его следующим образом:

  1. Откройте файл sites/default/services.yml. Если у вас его нет - скопируйте сайты/default/default.services.yml в сайты/default/services.yml.
  2. Найдите параметр twig.config -> debug, установите для него значение «true» и сохраните файл.
  3. Очистите кеш и обновите страницу.

Затем откройте инспектор браузера и попробуйте найти комментарий к файлу шаблона. Вы увидите что-то вроде этого: введите описание изображения здесь THEME HOOK из комментария правильный для отладки.
Таким образом, имя вашей функции предварительной обработки должно состоять из: названия темы, слова «предварительная обработка» + хука темы из комментария:

THEME_NAME_preprocess_THEME_HOOK

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.