Включение части шаблона
Многие разработчики предпочитают хранить коды верхнего / нижнего колонтитула в отдельном файле и вызывают файл в page.html.twig
Процесс
Допустим, вы создали следующий файл в папке вашей темы для заголовка:
THEME_NAME/templates/includes/header.html.twig
И теперь вы хотите включить этот файл в:
page.html.twig
Рекомендуемый метод
Правильный метод для тем Drupal 8 состоит в том, чтобы использовать пространства имен Twig для объявления каталога "templates" текущей темы. Вот пример:
{% include '@THEME_NAME/includes/header.html.twig' %}
Ниже приведен пример из рабочей темы на Drupal.org, которая называется Architect.
«@architect» относится к /templates в каталоге рабочей темы (architect).
{% include '@architect/includes/header.html.twig' %}
Пространство имен Twig создается в Drupal 8 автоматически при установке вашей темы и указывает на каталог /templates вашей темы. По сути, написание «@theme_name» во включении Twig (как указано выше) будет ссылаться на местоположение «your_site.com/themes/theme_name/templates» на вашем сервере.
Не рекомендуемый метод
Один из возможных (но не рекомендуемых) методов - использовать приведенный ниже код для включения этого файла.
{# NOT recommended #}
{% include directory ~ '/templates/includes/header.html.twig' %}
Приведенная выше информация может работать, однако она приведет к ошибке сервера при использовании с подтемой.
Расширение функциональности пространства имен
Модуль компонентов библиотеки компонентов обеспечивает более гибкую и сложную организацию шаблонов twig в Drupal 8, которая может работать с twig "embed"
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.