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

duc*_*cin 11 optional twig

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

说,我有一个结构:

'opt1': {'visible': false, 'bundle': 'XxxBundle', 'name': 'label1'},
'opt2': {'visible': true, 'bundle': 'YyyBundle', 'name': 'label2', 'params': '/par1'},
Run Code Online (Sandbox Code Playgroud)

我用它来:

<a href="{{path(desc.bundle ~ '_' ~ action ~ desc.params)}}">
Run Code Online (Sandbox Code Playgroud)

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

Cha*_*ase 18

你可以只传递一个默认的空白字符串.

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

这种方式如果它没有定义它只是一个空字符串.您可以在此处阅读有关默认过滤器的更多信息:http://twig.sensiolabs.org/doc/filters/default.html