【问题标题】:symfony2 form checkbox grouped (expanded and multiple choice)symfony2 表单复选框分组(扩展和多项选择)
【发布时间】:2023-03-25 03:13:01
【问题描述】:

在我的表单类型中,我有这个:

    $builder
        ->add('options', 'choice', [
            'choices'  => $choices,
            'multiple' => true,
            'expanded' => true,
            'label'    => false
        ])
    ;

choices 是一个数组:

$choices = [
     'val1' => 'val1',
     'val2' => 'val2',
     'val3' => 'val3'
];

太棒了!现在我想用这样的数组对我的选择进行分类:

$choices = [
     'label1' => [
        'val1' => 'val1',
        'val2' => 'val2',
     ],
     'label2' => [
        'val3' => 'val3',
        'val4' => 'val4',
     ],
     'label3' => [
        'val5' => 'val5',
        'val6' => 'val6',
     ],
];

所以我想要下面的结果

实现这一目标的最佳方法是什么?

【问题讨论】:

    标签: php forms symfony twig


    【解决方案1】:

    您可以覆盖此选择字段的小部件并手动呈现标签

    像这样(在您的模板中):

    {% form_theme putYourFormNameHere _self %}
    
    {% block _putYourFormNameHere_options_widget %}
        <div {{ block('widget_container_attributes') }}>
        {% for group_label, group in choices %}
            {%- if group is iterable -%}
            <div>
                <label><b>{{ group_label|trans({}, translation_domain) }}</b></label>
                {% for key, choice in group %}
                    <div>
                        {{- form_widget(form[key]) -}}
                        {{- form_label(form[key]) -}}
                    <div>
                {% endfor %}
            </div>
            {%- endif -%}
        {% endfor %}
    {% endblock %}
    

    【讨论】:

    • 谢谢,正是我想要的,完美! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-09
    • 1970-01-01
    • 2023-03-18
    • 2012-07-04
    • 2016-03-22
    • 2012-06-11
    相关资源
    最近更新 更多