Sélectionner avec optgroup dans Symfony 2.0
dans Symfony2 , le composant html select
est rendu comme un objet ChoiceType
, qui est utilisé en effet aussi pour checkboxes
et radiobuttons
.
quelqu'un vraiment savoir comment rendre un select avec l'option "optgroup" dans Symfony2 ?
par souci d'exhaustivité, je vous présente un exemple de sélectionnez avec le optgroup étiquette (exemple de 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>
de plus, notez qu'il existe un post similaire ici , mais les réponses ne sont pas convaincantes.
2 réponses
Faites ceci:
$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();
fonctionne pour Symfony 2.0.x
cela dépend de la définition de votre entité et de la façon dont vous la regroupez. En supposant que le regroupement est fait donné un paramètre dans votre objet, disons, "marque". Vous pouvez faire:
$builder->add('cars', null, array(
'group_by'=> 'brand'
));