Symfony,不止一次输出表单字段

时间:2014-06-30 11:49:36

标签: forms symfony

我有一个标签式表单,我想多次输出一个表单字段。假设我有一个名为“个人”的标签,另一个名为“公司”。在第一个标签中,我想要字段“name”和“address”。在第二个选项卡中,我希望有“公司”和“地址”字段,因此我希望两次显示地址表单字段(用户可以通过选择选项卡来选择他们是个人还是公司)。但是当我尝试这样做时,Symfony不会渲染第二个地址字段,因为它已经输出了。

是否有办法覆盖此行为并让symfony输出此字段两次?

1 个答案:

答案 0 :(得分:-1)

不幸的是,由于Symfony2表单的内部处理(令牌,id等),Symfony2(至少v2.2和2.3)似乎只允许呈现一次表单。 我找到的唯一方法是“修修补补”,使用树枝设置将形状捕捉到树枝变量中然后你可以多次使用它,例如:

{% set twig_form %}
<form method="POST" name="payment" action="{{ url('form_action') }}" {{ form_enctype(form) }}>
   <label>My label</label>{{form_widget(form.input)}}
   {{form_widget(form._token)}}
{% endset %}
{{twig_form}}
   <button type="submit"></button>
</form>
<div>...</div>
{{twig_form}}
   <button type="submit"></button>
</form>