我在Symfony2中有一个项目,我有很多不同的形式可以做很多不同的事情,我现在正在努力解决的一个问题是如何设置两个不同的模板来处理form_rows。
我在fiels.html.twig文件中指定了一个form_row模板,该文件处理表单行,如下所示:
{% block form_row %}
{% spaceless %}
<div class="form-element{% if errors %} form-element-error{% endif %} widget-group clearfix">
<div class="widget widget-1-of-3">
{{ form_label(form) }}
</div>
<div class="widget widget-2-of-3">
{{ form_widget(form) }}
{% if errors %}
<small>{{ form_errors(form) }}</small>
{% else %}
{% if help is defined %}
<small>{{ help }}</small>
{% endif %}
{% endif %}
</div>
</div>
{% endspaceless %}
{% endblock form_row %}
对于一般表单,这对我来说很有用,但是我在表格中也有很多表单元素。这通常用于我正在更新的表格数据组。
在这种情况下,我希望能够使用不同的form_rows模板进行指定。
我知道我可以通过字段名称或组来指定行,但我有很多,我只是想要一种更通用的方法。
有谁知道如何实现这一目标。
答案 0 :(得分:2)
您可以在不同的模板中定义很多表单主题。 只需在您想要使用主题的顶部添加您的twig文件:
{% form_theme form 'AcmeDemoBundle:Form:fields.html.twig' %}
{{ form_widget(form) }}
其中form_theme文件可以是具有主题定义的任何twig文件。 现在,窗体小部件以附加主题装饰。