Русскоязычная документация по Twig - PHP шаблонизатору. Руководство по Твиг на русском языке
Оператор Include включает в себя шаблон и возвращает отображаемое содержимое этого файла в текущее пространство имен:
{% include 'header.html' %}
Body
{% include 'footer.html' %}
Включенные шаблоны имеют доступ к переменным активного контекста.
Если используется подгрузчик filesystem , шаблоны ищутся в путях,
определяемых ею.
Можно добавить дополнительные переменные, передавая их после with:
{# template.html will have access to the variables from the current context and the additional ones provided #}
{% include 'template.html' with {'foo': 'bar'} %}
{% set vars = {'foo': 'bar'} %}
{% include 'template.html' with vars %}
Или можно отключить доступ к контексту путем добавления only.
{# only the foo variable will be accessible #}
{% include 'template.html' with {'foo': 'bar'} only %}
{# no variables will be accessible #}
{% include 'template.html' only %}
Когда шаблон был создан конечным пользователем, его нужно рассматривать уже в паре с атрибутом sandbox. Более детальная информация об этом находится в документации этого тега.
Имя шаблона может быть любым допустимым выражением Twig.
{% include some_var %}
{% include ajax ? 'ajax.html' : 'not_ajax.html' %}
И если выражение относится к объекту Twig_Template, Twig будет использовать непосредственно его.
// {% include template %}
$template = $twig->loadTemplate('some_template.twig');
$twig->loadTemplate('template.twig')->display(array('template' => $template));
Вы можете отменить Include при помощи инструкции ignore missing , и
тогда Twig будет игнорировать подключение несуществующего шаблона.
Помещают его сразу за именем шаблона:
{% include 'sidebar.html' ignore missing %}
{% include 'sidebar.html' ignore missing with {'foo': 'bar'} %}
{% include 'sidebar.html' ignore missing only %}
Можно предоставить и список шаблонов, которые проверяются на предмет существования до включения.
{% include ['page_detailed.html', 'page.html'] %}
{% include ['special_sidebar.html', 'sidebar.html'] ignore missing %}
Первый же шаблон, который существует, будут включен. Также можно добавить ignore missing для того чтобы подавить исключение если ни один из шаблонов не существует, в противном же случае он будет выдавать исключение.