{# 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 the foo variable will be accessible #}
{% include 'template.html' with {'foo': 'bar'} only %}
{# no variables will be accessible #}
{% include 'template.html' only %}
2条答案
按热度按时间wecizke31#
仔细查看文档:
所包括的模板可以访问活动上下文的变量。
...
您可以通过在with关键字之后传递其他变量来添加这些变量:
您可以通过附加唯一的关键字来禁用对上下文的访问:
--https://twig.symfony.com/doc/2.x/tags/include.html中的一个
这意味着您可以在当前模板中设置变量,并在包含的模板中引用该变量,您还可以在其中定义默认值。
模板/测试:
当前模板:
或者直接在一行中传递它:
相同,但包含的模板将不有权访问活动上下文的变量:
这些方法中的任何一种都将呈现:
Here is a good explanation for all this.
m528fe3b2#
我找到了解决办法