Подключение файлов в твиге

Главные вкладки

Аватар пользователя Artalek Artalek 21 мая 2021 в 8:50

Здравствуйте, как правильно подключить файлы twig, в файл twig?

Я сейчас делаю вот так:

{% include 'modules/custom/mymodule/templates/includes/file_twig.html.twig' %}

Есть способ по лучше пути прописать?
Сам файл twig в котором я подключаю данный файл, находится:
'modules/custom/mymodule/templates/file_twig.html.twig'

Лучший ответ

Аватар пользователя charOFF charOFF 21 мая 2021 в 13:18
1

У меня в девятке в теме так работает.
А такой вариант?
{{ include('@mymodule/includes/file_twig.html.twig') }}

Комментарии

Аватар пользователя ivnish ivnish 21 мая 2021 в 9:10

А зачем подключать шаблон из кастомного модуля, если можно подключить его из темы оформления? У вас ведь не контрибный модуль, чтобы держать шаблон в модуле

Аватар пользователя Artalek Artalek 21 мая 2021 в 9:14

что значит "контрибный модуль"?
У меня шаблоны в модуле, т.к. я этот модуль сделал для нескольких сайтов, и держать их в теме не удобно было бы, т.к. все сайты разные

Аватар пользователя ivnish ivnish 21 мая 2021 в 9:19

Контрибный - это модуль который можно скачать с drupal.org и который поддерживается сообществом.

Кастомный - это который пишете вы для своего проекта

Аватар пользователя charOFF charOFF 21 мая 2021 в 12:32

Можно использовать пути относительно текущего файле
Во всяком случае с функцией include() это работает
{{ include('includes/file_twig.html.twig') }}

но и с тэгом должно
{% include 'includes/file_twig.html.twig' %}

Аватар пользователя Artalek Artalek 21 мая 2021 в 12:37

так пробовал, не получается, ошибка:

Twig\Error\LoaderError: Template "includes/file_twig.html.twig" is not defined in "modules/custom/mymodule/templates/file_twig.html.twig" at line 57. in Twig\Loader\ChainLoader->getCacheKey() (line 142 of D:\OpenServer\domains\mysite\vendor\twig\twig\src\Loader\ChainLoader.php).
Аватар пользователя VasyOK VasyOK 21 мая 2021 в 17:06

Я не спорю, что это работает. Но может этот файл нужно подключать в кастомном модуле (кстати что он делает), а не в теме оформления?