Программирование сайтов
19 Дек в 12:11

Вывод поля ноды или термина в page.html.twig

У ноды и у термина таксономии можно создавать поля. Например, поле альтернативного заголовка. Пусть его машинное имя будет field_h1. Вывод значения этого поля в шаблоне page.html.twig для ноды делается так:

[html]
{{ node.field_h1.value }}
[/html]

Чтобы выводить поле термина таксономии подобным образом, нужно воспользоваться хуком hook_preprocess_page. В файл mytheme.theme пишем:

[php]
function mytheme_preprocess_page(&$variables) {
    if (\Drupal::routeMatch()->getRouteName() == ‘entity.taxonomy_term.canonical’) {
        $term = \Drupal::routeMatch()->getParameter(‘taxonomy_term’);
        $variables[‘term’] = $term;
    }
}
[/php]

А в шаблоне:

[html]
{{ term.field_h1.value }}
[/html]

Теория

Метод Drupal::routeMatch() извлекает текущий активный объект.