6

我有一个自定义表单字段类型和一个关联的表单主题。在一页上,我有很多这样的字段,但我特别想更改其中一个字段。

有没有办法以不同的方式对相同类型(和在同一个文件中)的某些字段进行主题化?

一个简化的例子:

form_fields.html.twig:(本地主题文件)

{% block my_dropdown_row %}
<div>
    {{ form_label(form) }}
    {{ form_widget(form) }}
    {{ form_errors(form) }}
</div>
{% endblock %}

在我的表单模板中(所有这些字段都具有相同的类型 -my_dropdown

{{ form_row(form.selectionA) }}
{{ form_row(form.selectionB) }}
{{ form_row(form.selectionC) }}
{{ form_row(form.final_selection) }}

如何以与其他字段不同的方式设置最终字段的样式?这些小部件中有很多代码,因此重复越少越好。

4

2 回答 2

6

这是可以做到的。方法如下:

http://symfony.com/doc/current/cookbook/form/form_customization.html

于 2012-09-06T10:24:05.683 回答
1

老问题,已经回答,但很高兴有更详细的信息。

{% form_theme form _self %}

    {% block _product_name_widget %}
    <div class="text_widget">
        {{ block('form_widget_simple') }}
    </div>
{% endblock %}

{{ form_widget(form.name) }}

块名称_product_name_widget代表的地方

_ form type(block prefix)_ form item name_render function

http://symfony.com/doc/current/form/form_customization.html#how-to-customize-an-individual-field

于 2017-12-07T13:27:26.577 回答