繁体   English   中英

Symfony2和Twig在if-else条件下形成渲染

[英]Symfony2 and Twig form rendering in if - else condition

在我的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) }}

问题是即使我的附加变量var为false,我也会呈现{{form_widget(form.description)}},不是所有其他表单字段,而是表单底部的某个地方,这显然是一个错误。 仅当extras为true时才如何呈现它,如果extras为false则如何使其完全从页面消失? 谢谢。

默认情况下,所有其他表单字段都会自动添加到表单的末尾。 默认情况下,它会触发{{ form_rest() }} 使用此代码可以防止此行为:

{{ form_end(form, {'render_rest': false}) }}

http://symfony.com/doc/current/reference/forms/twig_reference.html#form-end-view-variables

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM