Symfony2では、select
htmlコンポーネントはChoiceType
オブジェクトとしてレンダリングされます。これは、実際にはcheckboxes
およびradiobuttons
にも使用されます。
誰か本当に知っていますかSymfony2のoptgroupオプションで選択をレンダリングする方法?
完全を期すために、ここではselectの例をoptgroupタグ付きで報告します( 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>
さらに、同様の投稿があることに注意してください ここ が、答えは説得力がありません。
これを行う:
$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で動作します
エンティティの定義方法とエンティティのグループ化方法によって異なります。オブジェクト内のパラメータを指定してグループ化が行われると仮定して、「ブランド」としましょう。できるよ:
$builder->add('cars', null, array(
'group_by'=> 'brand'
));