在Symfony2/Twig中自定义表单小部件

在Symfony2/Twig中自定义表单小部件,symfony,twig,Symfony,Twig,在我的表单模板中: {% block field_label %} {% spaceless %} <label {{ block('widget_attributes') }}></label> {% endspaceless %} {% endblock %} {%block field\u label%} {%spaceless%} {%endspaceless%} {%endblock%} 我需要添加一些额外的class属性,当然,还需要显示标签(可能

在我的表单模板中:

{% block field_label %}
{% spaceless %}
    <label {{ block('widget_attributes') }}></label>
{% endspaceless %}
{% endblock %}
{%block field\u label%}
{%spaceless%}
{%endspaceless%}
{%endblock%}
我需要添加一些额外的
class
属性,当然,还需要显示标签(可能已翻译)。我发现
{{block('widget_attributes')}
存储实际标签属性的
字符串


是否有机会获得一个
数组
类型来轻松修改它?我可以在哪里找到所有
名称来定制外观以满足我的需要?感谢您的帮助。

Nevermind Notepad++帮助我找到了文件:

vendor\symfony\src\Symfony\Bridge\Twig\Resources\views
定义了三种类型的标签:

{# Labels #}

{% block generic_label %}
{% spaceless %}
    {% if required %}
        {% set attr = attr|merge({'class': attr.class|default('') ~ ' required'}) %}
    {% endif %}
    <label{% for attrname,attrvalue in attr %} {{attrname}}="{{attrvalue}}"{% endfor %}>{{ label|trans }}</label>
{% endspaceless %}
{% endblock %}

{% block field_label %}
{% spaceless %}
    {% set attr = attr|merge({'for': id}) %}
    {{ block('generic_label') }}
{% endspaceless %}
{% endblock field_label %}

{% block form_label %}
{% spaceless %}
    {{ block('generic_label') }}
{% endspaceless %}
{% endblock form_label %}
{#标签}
{%block generic_label%}
{%spaceless%}
{%如果需要%}
{%set attr=attr | merge({'class':attr.class | default('')~'required'})%}
{%endif%}
{{label | trans}}
{%endspaceless%}
{%endblock%}
{%block field_label%}
{%spaceless%}
{%set attr=attr | merge({'for':id})%}
{{block('generic_label')}
{%endspaceless%}
{%endblock字段_label%}
{%block form_label%}
{%spaceless%}
{{block('generic_label')}
{%endspaceless%}
{%endblock form_label%}