Forms Symfony2-将CSS类添加到扩展的选项字段(收音机)
我需要能够添加一个CSS类到我选择字段的每个单选按钮。不幸的是,Symfony2在一个div中填充了扩展的选项,它在CSS类中获得了任何传递,而不是按钮本身 以下是默认的小部件主题(在PHP中): 这样,我如何将CSS类传递给实际的小部件?我是这样传递的:Forms Symfony2-将CSS类添加到扩展的选项字段(收音机),forms,symfony,Forms,Symfony,我需要能够添加一个CSS类到我选择字段的每个单选按钮。不幸的是,Symfony2在一个div中填充了扩展的选项,它在CSS类中获得了任何传递,而不是按钮本身 以下是默认的小部件主题(在PHP中): 这样,我如何将CSS类传递给实际的小部件?我是这样传递的: {% form_widget(form.blah, { 'attr' : { 'class': 'css-class' } }) %} 在我看来,但我不确定如何在我的小部件主题中抓住它 我不能使用单选按钮,所以告诉我切换到选择或复选框不是一
{% form_widget(form.blah, { 'attr' : { 'class': 'css-class' } }) %}
在我看来,但我不确定如何在我的小部件主题中抓住它
我不能使用单选按钮,所以告诉我切换到选择或复选框不是一个选项。如果可以的话,我真的,真的不想把收音机硬编码到我的表单视图中
编辑:我试过:
{% block choice_widget_expanded %}
{% for child in form %}
<input type="radio" value="{{ child.vars.value }}" {{ block('widget_attributes') }} />
{% endfor %}
{% endblock %}
{%block choice\u widget\u expanded%}
{表格%中的子项为%1}
{%endfor%}
{%endblock%}
但是它仍然在源代码中呈现一个包含的div,并将我的CSS类传递给该div,而不是无线电输入。我知道这个主题是“有效的”,因为我在摆弄小提琴时抛出了一些异常
编辑2:根据以下建议,我创建了自己的radio_小部件主题:
{% block radio_widget %}
<input type="radio" class="star {split:2}" {{ block('widget_attributes') }} value="{{ value }}" {% if checked == true %}checked="checked"{% endif %} />
{% endblock %}
{%block radio\u widget%}
{%endblock%}
但是,不幸的是,它不能用我上面添加的类生成收音机。我不确定是否需要做一些继承工作。有趣的是,为什么您希望每个单选选项都有一个class属性。但是
阻止单选小部件
(您可以在form\u div\u layout.html.twig中找到原始的一个){% form_theme form _self %}
是的,问题是每个单选按钮都应该是评级系统的一部分。评级系统使用jQuery动态地将普通按钮替换为星形按钮。但是,你关于覆盖
radio_widget
的想法很好,所以让我试试,这是谷歌为我找到的,我还没有尝试过,但这看起来很有希望,而且你不必对表单主题太乱:)不幸的是,它不允许半星。我很确定你可以在不影响表单主题的情况下构建它。例如,如果你想获得五星评级,并且能够以半星级进行评级,请创建10个选项,然后在查看该链接中的示例时使用:奇数和:偶数选择器设置收音机框。你能告诉我你最终是如何设置的吗/im面临相同的问题。你包括哪些脚本?因为当我在html表单中输入比率(class=“star”)时,它不会显示我的星星
{% block radio_widget %}
<input type="radio" class="star {split:2}" {{ block('widget_attributes') }} value="{{ value }}" {% if checked == true %}checked="checked"{% endif %} />
{% endblock %}
{% form_theme form _self %}