20

Symfony2では、selecthtmlコンポーネントはオブジェクトとしてレンダリングされます。これは実際にとChoiceTypeにも使用されます。checkboxesradiobuttons

誰かがSymfony2のoptgroupオプションで選択をレンダリングする方法を本当に知っていますか?

完全を期すために、ここではoptgroupタグを使用したselectの例( w3cschoolsの例)を報告します。

<select>
  <optgroup label="Swedish Cars">
    <option value="volvo">Volvo</option>
    <option value="saab">Saab</option>
  </optgroup>
  <optgroup label="German Cars">
    <option value="mercedes">Mercedes</option>
    <option value="audi">Audi</option>
  </optgroup>
</select> 

さらに、ここにも同様の投稿がありますが、答えは説得力がありません。

4

2 に答える 2

36

これを行う:

$car_choices = array(
    'Swedish Cars' => array(
        'volvo' => 'Volvo',
        'saab' => 'Saab',
    ),
    'German Cars' => array(
        'mercedes' => 'Mercedes',
        'audi' => 'Audi'
    )
);

$form = $this->createFormBuilder()
        ->add('car', 'choice', array(
            'label' => 'Choose your car',
            'choices' => $car_choices,
            ))
        ->getForm();

Symfony2.0.xで動作します

于 2012-09-03T09:03:19.023 に答える
16

エンティティの定義方法とエンティティのグループ化方法によって異なります。オブジェクト内のパラメータを指定してグループ化が行われると仮定して、「ブランド」としましょう。できるよ:

$builder->add('cars', null, array(
  'group_by'=> 'brand'
));
于 2012-10-24T09:03:50.960 に答える