include
Функция include возвращает отрендеренное содержимое шаблона:
{{ include('template.html') }}
{{ include(some_var) }}
Включенные шаблоны имеют доступ к переменным активного контекста.
Если вы используете файловый загрузчик, шаблоны ищутся в путях, определённых им.
Контекст передаётся по умолчанию, но вы также можете передать дополнительные переменные:
{# template.html will have access to the variables from the current context and the additional ones provided #}
{{ include('template.html', {foo: 'bar'}) }}
Вы можете отключить доступ к контексту, установив with_context в %%%CODE_BLOCK_4%%:
{# only the foo variable will be accessible #}
{{ include('template.html', {foo: 'bar'}, with_context = false) }}
{# no variables will be accessible #}
{{ include('template.html', with_context = false) }}
И если выражение оценивается как объект \Twig\Template или %%%CODE_BLOCK_8%%, Twig будет использовать его напрямую:
// {{ include(template) }}
$template = $twig->load('some_template.twig');
$twig->display('template.twig', ['template' => $template]);
Когда вы устанавливаете флаг %%%CODE_BLOCK_10%%, Twig вернёт пустую строку, если шаблон не существует:
{{ include('sidebar.html', ignore_missing = true) }}
Вы также можете предоставить список шаблонов, проверяемых на существование перед включением. Первый существующий шаблон будет рендериться:
{{ include(['page_detailed.html', 'page.html']) }}
Если ignore_missing установлен, будет возвращено пустое значение, если ни один из шаблонов не существует, в противном случае будет выброшено исключение.
При включении шаблона, созданного конечным пользователем, рекомендуется использовать его в sandbox:
{{ include('page.html', sandboxed = true) }}
Аргументы
-
template: Шаблон для рендеринга -
variables: Переменные для передачи шаблону -
with_context: Нужно ли передавать переменные текущего контекста -
ignore_missing: Нужно ли игнорировать отсутствующие шаблоны -
sandboxed: Нужно ли изолировать шаблон
© 2009–2018 by the Twig Team
Licensed under the three clause BSD license.
The Twig logo is © 2010–2020 Symfony
https://twig.symfony.com/doc/2.x/functions/include.html