添加条件 if in attr of form_widget

Adding condition if in attr of form_widget

如果变量为 null,我想显示 checked,所以我编写了这段代码

{{ form_widget(form.showPrice, {% if travel is null %}  {'attr': {'checked': 'checked'}} {% endif %} ) }}

但我遇到了这个错误

A hash key must be a quoted string, a number, a name, or an expression enclosed in
parentheses (unexpected token "operator" of value "%" in AppBundle:Dashboard/Travel:form.html.twig at line 100

{% ... %}这样的定界符用于执行for循环等语句。

分隔符如 {{ ... }} 将表达式的结果打印到模板。

你把他们搞砸了。正确的代码是:

{{ form_widget(form.showPrice, (travel is null ? {'attr': {'checked': 'checked'} }) ) }}

试试这个:

{{ form_widget(form.showPrice, (travel is null ? {'attr': {'checked': 'checked'} } : {}) ) }}

您还需要传递 false 选项 - 在本例中 {}