twig:仅在存在的情况下显示变量

时间:2013-03-08 10:54:17

标签: twig optional

是否有智能方式显示/使用树枝变量?只有它存在?

说,我有一个结构:

'opt1': {'visible': false, 'bundle': 'XxxBundle', 'name': 'label1'},
'opt2': {'visible': true, 'bundle': 'YyyBundle', 'name': 'label2', 'params': '/par1'},

我用它:

<a href="{{path(desc.bundle ~ '_' ~ action ~ desc.params)}}">

如果不存在明确的条目,我希望twig省略desc.params。有没有比使用if语句更聪明的方法?

2 个答案:

答案 0 :(得分:18)

您只需将默认空白字符串传递给它。

<a href="{{path(desc.bundle ~ '_' ~ action ~ desc.params|default(''))}}">

这种方式如果它没有定义它只是一个空字符串。您可以在此处详细了解默认过滤器:http://twig.sensiolabs.org/doc/filters/default.html

答案 1 :(得分:4)

另一个解决方案是在config.yml文件中将strict_variables设置为false:

twig:
    ...
    strict_variables: false