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



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

但是,对于form_widget,所有属性都分配给容器 (div) 而不是实际输入字段。我已经覆盖了radio_widget块,但不太确定如何将属性从表单小部件传递到这个radio_widge t中?

谢谢先生1031011,

我的错。我已经仔细检查了它,结论是您需要覆盖form_div_layout.html.twig - 您可以在此处找到有关扩展表单布局的更多信息 http://symfony.com/doc/current/cookbook/form/form_customization.html .

我已经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 %}

核心代码和我的代码之间的唯一区别是添加了, { 'attr': {'class': 'subclass', 'rel': 'test'} }。当然,您可以通过添加一些选项(如subattr或类似的东西)来概括这部分,但是在此示例中,您可以找到一个想法。

我希望这会有所帮助

问候。

官方网站上你可以找到

{{ 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>

这是提供此功能的最简单方法。另一方面,您可以为单选字段创建自己的模板并添加所需的属性。

问候。

最新更新