include
¶
The include
function returns the rendered content of a template:
1 2 |
{{ include('template.html') }}
{{ include(some_var) }}
|
Included templates have access to the variables of the active context.
If you are using the filesystem loader, the templates are looked for in the paths defined by it.
The context is passed by default to the template but you can also pass additional variables:
1 2 |
{# template.html will have access to the variables from the current context and the additional ones provided #}
{{ include('template.html', {foo: 'bar'}) }}
|
You can disable access to the context by setting with_context
to
false
:
1 2 |
{# only the foo variable will be accessible #}
{{ include('template.html', {foo: 'bar'}, with_context = false) }}
|
1 2 |
{# no variables will be accessible #}
{{ include('template.html', with_context = false) }}
|
And if the expression evaluates to a \Twig\Template
or a
\Twig\TemplateWrapper
instance, Twig will use it directly:
1 2 3 4 5 |
// {{ include(template) }}
$template = $twig->load('some_template.twig');
$twig->display('template.twig', ['template' => $template]);
|
When you set the ignore_missing
flag, Twig will return an empty string if
the template does not exist:
1 |
{{ include('sidebar.html', ignore_missing = true) }}
|
You can also provide a list of templates that are checked for existence before inclusion. The first template that exists will be rendered:
1 |
{{ include(['page_detailed.html', 'page.html']) }}
|
If ignore_missing
is set, it will fall back to rendering nothing if none
of the templates exist, otherwise it will throw an exception.
When including a template created by an end user, you should consider sandboxing it:
1 |
{{ include('page.html', sandboxed = true) }}
|
Arguments ¶
template
: The template to rendertemplate: レンダリングするテンプレートvariables
: The variables to pass to the template変数:テンプレートに渡す変数with_context
: Whether to pass the current context variables or notwith_context: 現在のコンテキスト変数を渡すかどうかignore_missing
: Whether to ignore missing templates or notignore_missing: 欠落しているテンプレートを無視するかどうかsandboxed
: Whether to sandbox the template or notsandboxed:テンプレートをサンドボックス化するかどうか