Symfony 在表单\小部件的属性中添加条件if
如果一个变量为空,我想显示选中的,,因此我必须生成此代码Symfony 在表单\小部件的属性中添加条件if,symfony,twig,Symfony,Twig,如果一个变量为空,我想显示选中的,,因此我必须生成此代码 {{ 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 (unexpecte
{{ 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选项-在本例中,谢谢,但是当travel为null时,这很好,但是如果它不为null,则我得到此错误
在呈现模板期间引发了异常(“可捕获的致命错误:参数3传递给Symfony\Component\Form\FormRenderer::searchandenderblock())必须是一个数组,字符串给定,在第181行的AppBundle:Dashboard/Travel:form.html.twig的第100行的AppBundle:Dashboard/Travel:form.html.twig中调用D:\wamp\www\agence\app\cache\dev\twig\ff\3e\245F88BDE084490EFE84C9AA31EDB90139AA09D4FFD1773D1E01EC54EC40.php,并定义为“)。我更新了我的答案