我有一个Customer
对象,其中包含许多Emails
。
我正在为我的客户构建表单,并且我已将其电子邮件添加为集合。在我的模板中,我像这样呈现电子邮件部分:
<h4>Emails</h4>
{% for email in form.emails %}
<li>
{{ form_row(email.addr) }}
{{ form_row(email.isPrimary) }}
</li>
{% endfor %}
...
{{ form_rest(form) }}
除非客户没有电子邮件,否则此工作正常。然后,form_rest()
在模板底部呈现标签“电子邮件”。
为什么只有在form.emails
为空时才会呈现此内容?我该如何定制? (注意我已经为其他表单元素定制了我的标签呈现,我不希望它们与这些'集合标签'相同。)
答案 0 :(得分:1)
我通常用这种方式解决了这个问题:
{% for email in form.emails %}
{# ... #}
{% else %}
{{ form_widget(form.emails) }}
{% endfor %}
除非有人建议更好的方法。