Twig 细枝:仅当变量存在时才显示该变量
是否有一种聪明的方法仅在存在细枝变量时才显示/使用它 我有一个结构:Twig 细枝:仅当变量存在时才显示该变量,twig,optional,Twig,Optional,是否有一种聪明的方法仅在存在细枝变量时才显示/使用它 我有一个结构: 'opt1': {'visible': false, 'bundle': 'XxxBundle', 'name': 'label1'}, 'opt2': {'visible': true, 'bundle': 'YyyBundle', 'name': 'label2', 'params': '/par1'}, 我把它用在: <a href="{{path(desc.bundle ~ '_' ~ action ~ des
'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
语句更聪明的方法呢?您可以只向它传递一个默认的空白字符串
<a href="{{path(desc.bundle ~ '_' ~ action ~ desc.params|default(''))}}">
另一种解决方案是在config.yml文件中将严格变量设置为false:
twig:
...
strict_variables: false
这将关闭所有变量的验证,然后您可能仍然需要在应用程序的其他位置使用它。如果你使用这个选项,请小心。如果一次还不够,我会再次小心。使用{{val | default('')}
很容易。我认为Javascript的后期bug已经够多了。您也可以只使用desc.params | default
(不使用(“”)
)。