Я использую pagetitle
основной модуль для отображения заголовка страницы. Тем не менее, для определенных типов контента я хочустраницаОсновной заголовок должен быть меткой типа контента (например, «Новости»), а не меткой узла (например, «Drupal 8 выпустил!»).
Есть ли простой способ добиться этого? Мое первое предположение было использовать, template_preprocess_page_title
но не $variables
имеет никакого контекста об узле, типе узла и т. Д ...
Ответы:
Как упомянул Иван Ярош Вы можете использовать
hook_preprocess_page_title
.Вам просто нужно сначала загрузить узел из маршрута, чтобы получить некоторый контекст.
Если вы просто хотите использовать это с определенными типами контента, вы можете использовать,
$node->bundle()
чтобы получить машиночитаемое имя и проверить его.источник
block_title
. Однако это не отменяет заголовок страницы. Любая идея, как установить для заголовка страницы то же значение, что и для заголовкаЛинус понял это правильно для функции предварительной обработки, но я лично использовал бы ее, чтобы получить текущий узел (так как он короче и кажется проще ...)
Затем, чтобы получить доступ к заголовку узла, используйте:
или для доступа к другому настраиваемому полю (со значением):
На самом деле, доступ ко всему так же, как и к этим данным в обычной функции предварительной обработки узла :)
источник
Используйте модуль Metatag, он уже готов для D8 и поддерживает то, что вам нужно.
источник
Сделайте небольшой модуль. Требуются два файла:
Имя файла: liveeventtitles.info.yml
Файл: liveeventtitles.module
Возможно, у меня больше, чем мне нужно, например, я не думаю, что мне нужно значение по умолчанию и PLACEHOLDER в hook_form_alter (), но мне нужно дать кому-то причину, чтобы проголосовать за это (-;
источник
В THEMENAME_preprocess_html (& $ variable) {} есть $ variable ['head_title'], который является высшим экземпляром для заголовка страницы (Структурированное название: $ variable ['head_title_array']). Есть также другие интересные ключи массива, такие как $ variable ['page'] ['content'] и $ variable ['node_type'], на основе которых можно обрабатывать заголовок.
Заключительная мысль: $ variable ['head_title'] = ['title_part1', 'title_part2']; так как в html.html.twig
источник