Добавление регионов в тему
Добавление регионов в тему требует:
- Добавление метаданных региона в файл THEMENAME.info.yml.
- Редактирование файла page.html.twig и печать новых регионов.
Примечание. Если вы объявите какие-либо регионы в своей теме, даже только один, все регионы по умолчанию больше не будут применяться, и вы берете на себя ответственность за объявление всех областей, которые вы хотите использовать.
Любые блоки, которые были в регионах, которые больше не существуют (потому что вы их не определили) теперь будут отключены - особенно если вы отредактируете THEMENAME.info.yml и перестроите кеш с помощью drush cr, вы увидите сообщение, подобное этому для каждый:
Блок themename_breadcrumbs был назначен недопустимому региону breadcrumb и был отключен.
Если вы зайдете в /admin/structure/block, все отключенные блоки будут перечислены в самой верхней области с индикатором (отключено). Вы можете либо перетащить, либо использовать раскрывающийся список «Регион», чтобы переназначить их или удалить блоки, которые вам больше не нужны.
Убедитесь, что вы сохранили регионы page_top и page_bottom. Это «скрытые» области, используемые для разметки в самом верху и внизу страницы, такие как аналитика или панель инструментов администратора. Вам не нужно перечислять их в файле THEMENAME.info.yml, просто не удаляйте их из шаблона html.html.twig. Модули могут полагаться на их присутствие.
Добавление регионов в ваш информационный файл
Начните с объявления любых новых регионов в файле THEMENAME.info.yml. Регионы объявляются как дети ключей регионов следующим образом:
regions: header: 'Header' content: 'Content' footer: 'Footer'
Ключи региона должны быть буквенно-цифровыми и могут содержать подчеркивание (_). Ключи должны начинаться с буквы. Ключ - это имя компьютера (которое вы используете в коде), а значение - удобочитаемая версия, отображаемая в интерфейсе администратора.
Добавление регионов в ваши шаблоны
Чтобы регионы отображали любой контент, размещенный в них, вам необходимо убедиться, что ваши новые регионы также добавлены в ваш файл page.html.twig. Регионы будут представлены в виде переменных Twig, имя которых соответствует ключу, используемому в файле THEMENAME.info.yml со строкой page.
Пример:
header: 'Header'
...станет:
{{ page.header }}
Они ведут себя как любая другая переменная Twig и могут быть заключены в любую разметку, подходящую для вашего варианта использования.
(Синтаксис скрытых областей по умолчанию другой, см. ниже.)
Регионы по умолчанию
См. Документацию page.html.twig для списка регионов по умолчанию.
- page.header
- page.primary_menu
- page.secondary_menu
- page.highlighted
- page.help (динамический текст справки, в основном для страниц администратора)
- page.content (основной контент текущей страницы)
- page.sidebar_first
- page.sidebar_second
- page.footer
- page.breadcrumb
Если ваша тема не объявляет регионы, Drupal примет этот набор значений по умолчанию.
Эти области соответствуют тому, что ожидает файл по умолчанию core/modules/system/templates/page.html.twig, а также двум скрытым областям page_top и page_bottom - вам не нужно объявлять эти последние два, если вы переопределяете значения по умолчанию однако переменные Twig {{page_top}} и {{page_bottom}} должны быть сохранены в шаблоне html.html.twig.
Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.