【问题标题】:How are labels on ArrayCollections in forms rendered?如何呈现表单中 ArrayCollections 上的标签?
【发布时间】:2013-03-20 10:28:15
【问题描述】:

我有一个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 为空时才会渲染?我该如何定制它? (请注意,我已经为其他表单元素自定义了标签渲染,并且我不希望这些“集合标签”相同。)

【问题讨论】:

  • 请粘贴您的表单类、实体和操作代码。
  • 我做了,它们似乎消失了。是其他人删除了它们还是没有保存?

标签: symfony


【解决方案1】:

我通常是这样解决这个问题的:

{% for email in form.emails %}
    {# ... #}
{% else %}
    {{ form_widget(form.emails) }}
{% endfor %}

除非有人提出更好的方法。

【讨论】:

    猜你喜欢
    • 2021-06-27
    • 1970-01-01
    • 1970-01-01
    • 2021-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多