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