Symfony2和Twig:如何防止标签的渲染?

时间:2012-11-23 16:42:17

标签: symfony twig

如标题所述。我有一个表单类型,并且必须渲染一些没有标签的字段(因为我必须将它们放入表格的单元格中)。 我怎么能这样做?

在线文档似乎质量非常低。

2 个答案:

答案 0 :(得分:2)

您不需要更改默认行为..您很容易只渲染模板中的输入和标签。

<form>
    <table>
        <tr>
            <td>
                {{ form_label(form.fieldName) }}
            </td>
            <td>
                {{ form_errors(form.fieldName) }}
                {{ form_widget(form.fieldName) }}
            </td>
        </tr>
    </table>
</form>

如果您不渲染整个表单,请不要忘记{{ form_widget(form._token) }}或更简单的使用{{ form_rest(form) }}

答案 1 :(得分:0)

您需要按照the docs中的说明创建自己的“表单主题”。您可以使用方法form_labelform_errorsform_widget来设置所需的样式。如果您不想要标签,则不要使用form_label功能,只使用form_errorsform_widget功能:

{# src/Acme/TaskBundle/Resources/views/Form/fields.html.twig #}
{% block form_row %}
{% spaceless %}
    <div class="form_row">
        {{ form_errors(form) }}
        {{ form_widget(form) }}
    </div>
{% endspaceless %}
{% endblock form_row %}