2012-03-30 30 views
11

什么是真正的include with only在嫩枝目的:Twig“仅包含”的用途是什么?

{# only the foo variable will be accessible #} 
{% include 'child.html.twig' with {'foo': 'bar'} only %} 

也许有些性能好处?或者只是为了避免在包含的模板中覆盖变量? As documentation

包含的模板可以访问活动上下文的变量。您可以通过追加唯一的关键字来禁用对上下文的访问。

回答

17

当您包含模板时,它可以访问包含模板中可用的所有变量。如果由于某种原因,您不想使用该关键字,请使用only关键字。

我还没有遇到过需要这种情况的情况,但除表演之外可能还有其他原因。例如,您可以使用它来避免在某些情况下命名冲突。

+0

这正是我在想的,谢谢。 – gremo 2012-03-30 13:48:41