Forms symfony表单集合自定义

Forms symfony表单集合自定义,forms,symfony,Forms,Symfony,我使用collection创建了symfony <fieldset> <legend>{{ 'Comments'|trans }}:</legend> {{ form_start(form) }} <table> <tbody> <tr> <td>{{ form_label(form.category) }}</

我使用collection创建了symfony

<fieldset>
    <legend>{{ 'Comments'|trans }}:</legend>
    {{ form_start(form) }}
    <table>
        <tbody>
            <tr>
                <td>{{ form_label(form.category) }}</td>
                <td>{{ form_widget(form.category) }}</td>
            </tr>
            <tr><td colspan="2">{{ form_errors(form.category) }}</td></tr>

            <tr><td colspan="2">{{ form_label(form.comment) }}</td></tr>
            <tr><td colspan="2">{{ form_widget(form.comment) }}</td></tr>
            <tr><td colspan="2">{{ form_errors(form.comment) }}</td></tr>

            <tr><td colspan="2">{{ form_label(form.documents) }}</td></tr>
            <tr><td colspan="2">{{ form_widget(form.documents) }}</td></tr>
            <tr><td colspan="2">{{ form_errors(form.documents) }}</td></tr>

            <tr>
                <td colspan="2">
                    {{ form_widget(form.save) }}
                </td>
            </tr>
        </tbody>
    </table>
    {{ form_end(form) }}
</fieldset>

{{‘注释’| trans}}:
{{form_start(form)}}
{{form_标签(form.category)}
{{form_小部件(form.category)}
{{form_errors(form.category)}}
{{form_标签(form.comment)}
{{form_小部件(form.comment)}
{{form_errors(form.comment)}}
{{form_标签(form.documents)}
{{form_小部件(form.documents)}
{{form_errors(form.documents)}}
{{form_小部件(form.save)}
{{form_end(form)}}
但我有一件事需要在上传输入后从erros表格中找到

<tr><td colspan="2">{{ form_label(form.documents) }}</td></tr>
<tr><td colspan="2">{{ form_widget(form.documents) }}</td></tr>
<tr><td colspan="2">{{ form_errors(form.documents) }}</td></tr>
{{form_标签(form.documents)}
{{form_小部件(form.documents)}
{{form_errors(form.documents)}}
但以下是我得到的和我需要实现的:


如何实现这种行为?

通过创建自定义表单行模板,我找到了一个解决方案,如中所示

{Path/ToBundle/Forms/fields.html.twig}
{%block form_row%}
{%spaceless%}
{{form_标签(form)}
{{form_widget(form)}
{{form_errors(form)}}
{%endspaceless%}
{%endblock form_row%}
然后我将其包含在格式副本之前:

{% form_theme form with 'PathToBundle:Forms:fields.html.twig' %}
<fieldset>
    <legend>{{ 'Comments'|trans }}:</legend>
    {{ form_start(form) }}
    ...
{%form\u主题表单与'PathToBundle:Forms:fields.html.twig'%}
{{‘注释’| trans}}:
{{form_start(form)}}
...
最后,我使用包含的模板渲染表单行:

<tr><td colspan="2">{{ form_row(form.documents) }}</td></tr>
{{form_行(form.documents)}

虽然我仍然需要改进html标记,但它工作良好,并按所需顺序呈现元素。

文档
您的集合吗?是的,对于简单字段,更改顺序就足够了,如示例代码中所示,但对于集合,它不起作用
<tr><td colspan="2">{{ form_row(form.documents) }}</td></tr>