在Symfony2中对复选框进行分组

时间:2012-11-29 09:29:05

标签: symfony symfony-forms

似乎Symfony2 Form组件不处理这种常见情况。以下是我的html中我想要的内容

enter image description here

代码如下:

        ->add('code', 'choice', array(
            'choices' => array(
                'Food'  => array('pizza', 'burger', 'icecream'),
                'Music' => array('poney', 'little', 'pocket'),
            ),
            'multiple' => true,
            'expanded' => true,
            'required' => true
        ));

这实际上给出了错误的输出:

enter image description here

这很奇怪,因为expanded => false的情况得到了正确处理

enter image description here

请问如何处理这个案子?

1 个答案:

答案 0 :(得分:11)

好的,这是这个

的form_theme解决方案
{% block _user_code_widget %}
    <div {{ block('widget_container_attributes') }}>
        {% for name, choices in form.vars.choices %}
            <ul>
                <li class="checkbox_category">
                    <input type="checkbox" class="checkallsub" /> {{ name }}
                </li>

                {% for key,choice in choices %}
                    <li class="indent">
                        {{ form_widget(form[key]) }}
                        {{ form_label(form[key]) }}
                    </li>
                {% endfor %}
            </ul>
        {% endfor %}
    </div>
{% endblock %}

当然缺少额外的js图层,但你明白了。