包括
的包括
函数返回模板的渲染内容:
1 2
{{包括(“template.html”)}}{{包括(some_var)}}
所包含的模板可以访问活动上下文的变量。
如果您正在使用文件系统加载器,则在它定义的路径中查找模板。
默认情况下,上下文被传递给模板,但你也可以传递其他变量:
1 2
{# template.html将可以访问当前上下文中的变量和提供的其他变量{{包括('template.html', {foo: 'bar'})}}
您可以通过设置禁用对上下文的访问with_context
来假
:
1 2
{#只有foo变量可以访问{{包括('template.html', {foo: 'bar'}, with_context = false)}}
1 2
{#没有变量可访问#}{{包括('template.html', with_context = false)}}
如果表达式的值是a\树枝\模板
或者一个\树枝\ TemplateWrapper
实例,Twig将直接使用它:
1 2 3 4 5
// {{include(template)}}$模板=$嫩枝->负载(“some_template.twig”);$嫩枝->显示器(“template.twig”, (“模板”= >$模板]);
当你设置ignore_missing
如果模板不存在,Twig将返回一个空字符串:
1
{{包括('sidebar.html', ignore_missing = true)}}
您还可以提供一个模板列表,在包含之前检查这些模板是否存在。存在的第一个模板将被渲染:
1
{{包括([' page_detailed.html ', ' page.html '])}}
如果ignore_missing
时,如果不存在模板,它将退回到不呈现任何内容,否则将抛出异常。
当包含一个由最终用户创建的模板时,你应该考虑沙盒:
1
{{包括('page.html', sandboxed = true)}}
参数
模板
:要渲染的模板变量
:传递给模板的变量with_context
:是否传递当前上下文变量ignore_missing
:是否忽略缺少的模板沙箱
:是否对模板进行沙盒处理