为Symfony 2表单无线电类型分配属性

为Symfony 2表单无线电类型分配属性,symfony,Symfony,我正在使用angularjs,为此,我需要将ng模型分配给我的无线电场 但是,使用form_小部件,所有属性都被分配给容器(div),而不是实际的输入字段。我已经覆盖了radio\u widget块,但不太确定如何从表单widget将属性传递到radio\u widge t?您可以在官方网站上找到 {{ form_widget(form.task, { 'attr': {'class': 'task_field'} }) }} 毕竟,它可能看起来像: <div> {{ fo

我正在使用angularjs,为此,我需要将ng模型分配给我的无线电场


但是,使用form_小部件,所有属性都被分配给容器(div),而不是实际的输入字段。我已经覆盖了radio\u widget块,但不太确定如何从表单widget将属性传递到radio\u widge t?

您可以在官方网站上找到

{{ form_widget(form.task, { 'attr': {'class': 'task_field'} }) }}
毕竟,它可能看起来像:

<div>
    {{ form_label(form.name) }}
    {{ form_errors(form.name) }}
    {{ form_widget(form.name, { 'attr': {'class': 'task_field'} }) }}
</div>

{{form_标签(form.name)}
{{form_errors(form.name)}}
{{form_小部件(form.name,{'attr':{'class':'task_field'}}}}}
这是最简单的方法。另一方面,您可以为无线电字段创建自己的模板,并添加所需的属性

问候

谢谢您,mr1031011

是我的错。我仔细检查了它,最后您需要覆盖
form\u div\u layout.html.twig
——您可以在这里找到更多关于扩展表单布局的信息

我已经在其中一个块中添加了
attr
,它现在似乎正在工作

{% block choice_widget_expanded %}
{% spaceless %}
    <div {{ block('widget_container_attributes') }}>
    {% for child in form %}
        {{ form_widget(child, { 'attr': {'class': 'subclass', 'rel': 'test'} }) }}
        {{ form_label(child) }}
    {% endfor %}
    </div>
{% endspaceless %}
{% endblock choice_widget_expanded %}
{%block choice\u widget\u expanded%}
{%spaceless%}
{表格%中的子项为%1}
{{form_小部件(child,{'attr':{'class':'subclass','rel':'test'}}}}}
{{form_label(child)}
{%endfor%}
{%endspaceless%}
{%endblock choice_widget_expanded%}
核心代码和我的代码之间唯一的区别是
,{'attr':{'class':'subclass','rel':'test'}
被添加。当然,您可以通过添加诸如
subattr
之类的选项来概括这一部分,但在本例中,您可以找到一个想法

我希望这会有帮助


问候

分配给radio_小部件的属性似乎被设置为容器,而不是输入本身。