Рейтинг:0

Невозможно установить собственный заголовок документа в файле theme-settings.php

флаг gb

Я новичок в Drupal, поэтому не уверен, что все делаю правильно. Мне нужно установить собственный заголовок документа (т.е. между <title> и </title>), не в модуле, а в другом файле PHP, например тема-settings.php или даже корень index.php. Я пытаюсь использовать следующий код:

функция mythemename_preprocess_page_title(&$variables) {
    $variables['title'] = 'Новый заголовок';
}

Но новый заголовок не отображается в HTML-коде главной и внутренней страниц.

пс. Друпал 8.7.3

ОБНОВЛЕНО. Здесь https://drupal.stackexchange.com/a/228208/104765 Читал, что тема не к месту. Можно ли еще установить заголовок без создания модуля?

4uk4 avatar
флаг cn
Это довольно сложная проблема, но в большинстве случаев вы сможете получить желаемый результат, используя модуль Metatag. См. https://drupal.stackexchange.com/questions/238704/how-do-i-alter-the-page-title-after-a-controller-sets-the-title
stckvrw avatar
флаг gb
Мне не удалось установить Metatag на моем Drupal 8.7.3 - это вызвало ошибку. Но я успешно установил модуль SimpleMeta.Также можно обрабатывать заголовки в html.html.twig.
Рейтинг:1
флаг cn

Вам нужно использовать файл THEMENAME.theme, чтобы сохранить это.

stckvrw avatar
флаг gb
Я пробовал, но заголовок по-прежнему не меняется ни на одной странице.
Рейтинг:1
флаг de

Действительно, самое простое решение — использовать модуль Metatag.

Для решения полного кода я бы порекомендовал вам взглянуть на файл core/themes/classy/templates/layout/html.html.twig (который является шаблоном html по умолчанию, используемым Drupal, если ваша тема не переопределяет его) для подсказок относительно переменных шаблона. Переменная, которую вы хотите изменить, — это head_title, которая, как указано в заголовке html.html.twig, имеет вид:

 * - head_title: Список текстовых элементов, составляющих переменную head_title.
 * Может содержать одно или несколько из следующего:
 * - title: Название страницы.
 * - name: Название сайта.
 * - слоган: Слоган сайта.

В файле myTheme.theme вашей темы используйте хук hook_preprocess_html(), чтобы изменить переменную $variables["head_title"].

PS: Не забывайте сбрасывать кэши при работе с шаблонами, чтобы убедиться, что ваши изменения учтены.

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

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