在我的Symfony 2应用程序中,我得到以下代码呈现表单:
{{ form_start(form) }}
{{ form_errors(form) }}
<div class="form-group">
{{ form_label(form.title) }}
{{ form_widget(form.title) }}
</div>
<div class="form-group">
{{ form_label(form.message) }}
{{ form_widget(form.message) }}
</div>
{% if extras == true %} //this block should be rendered only if extras var is true
<div class="form-group">
{{ form_label(form.description) }}
{{ form_widget(form.description) }}
</div>
{% endif %}
{{ form_end(form) }}
问题是我得到了渲染{{form_widget(form.description)}},即使我的extras var为false,而不是所有其他表单字段,但在表单底部的某处显然是一个bug。如果extras为true,如何使它呈现,并且在extras为false的情况下完全从页面中消失? 谢谢。
答案 0 :(得分:1)
默认情况下,所有其他表单字段会自动添加到表单的末尾。它默认触发{{ form_rest() }}
。使用此代码可以防止此行为:
{{ form_end(form, {'render_rest': false}) }}
http://symfony.com/doc/current/reference/forms/twig_reference.html#form-end-view-variables