如何在symfony2表单集合中自定义数据原型?

iol*_*leo 2 forms prototype arraycollection symfony twig

我的表格中有一些隐藏的字段.

<ul id="user_roles">
  <li><hidden field value="role1"></li>
  <li><hidden field value="role2"></li>
  (...)
</ul>
Run Code Online (Sandbox Code Playgroud)

我使用jQuery(和数据原型)来添加新角色.

问题是我想渲染这样的东西:

<ul id="user_roles">
  <li>role1 <hidden field value="role1"></li>
  <li>role2 <hidden field value="role2"></li>
  (...)
</ul>
Run Code Online (Sandbox Code Playgroud)

初始渲染没问题:我只是说:

{% for role in roles %}
 <li> {{ role }} {{ form_row(role) }} </li>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

但是默认数据原型只会呈现{{form_row(role)}}(隐藏字段).

我应该在哪里更改默认数据原型?

form_div_layout.html中没有{%block prototype%}我可以自定义....

Khe*_*pin 8

集合小部件定义如下:

{% block collection_widget %}
{% spaceless %}
    {% if prototype is defined %}
        {% set attr = attr|merge({'data-prototype': form_row(prototype) }) %}
    {% endif %}
    {{ block('form_widget') }}
{% endspaceless %}
{% endblock collection_widget %}
Run Code Online (Sandbox Code Playgroud)

因此,您可以覆盖它以控制您想要如何渲染原型.