Spec-Zone.ru › Twig 1

include

Новое в версии 1.12: Функция include была добавлена в Twig 1.12.

Функция 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 в false:

{# 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 или \Twig\TemplateWrapper экземпляр, Twig будет использовать его напрямую:

// {{ include(template) }}

// deprecated as of Twig 1.28
$template = $twig->loadTemplate('some_template.twig');

// as of Twig 1.28
$template = $twig->load('some_template.twig');

$twig->display('template.twig', ['template' => $template]);

Когда вы устанавливаете флаг ignore_missing , Twig вернёт пустую строку, если шаблон не существует:

{{ include('sidebar.html', ignore_missing = true) }}

Вы также можете предоставить список шаблонов, которые проверяются на существование перед включением. Первый существующий шаблон будет рендериться:

{{ include(['page_detailed.html', 'page.html']) }}

Если ignore_missing установлен, будет использоваться обратная связь, возвращая ничего, если ни один из шаблонов не существует, иначе будет выброшено исключение.

При включении шаблона, созданного конечным пользователем, следует рассмотреть возможность его санбоксинга:

{{ include('page.html', sandboxed = true) }}

Аргументы

  • template: Шаблон для рендеринга
  • variables: Переменные для передачи шаблону
  • with_context: Необходимо ли передавать переменные текущего контекста
  • ignore_missing: Необходимо ли игнорировать отсутствующие шаблоны
  • sandboxed: Необходимо ли санбоксить шаблон
« dump | max »

© 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/1.x/functions/include.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API