В Symfony2 select
html-компонент отображается как объект ChoiceType
, который также используется для radiobuttons
и radiobuttons
.
Кто-нибудь действительно знает, как отобразить выбор с опцией optgroup в Symfony2 ?
Для полноты, здесь я сообщаю пример выбора с тегом 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();
Работает на Symfony 2.0.x
Это зависит от того, как определяется ваше сущность и как вы группируете свою сущность. Предполагая, что группировка выполняется с учетом параметра в вашем объекте, скажем, «бренд». Ты можешь сделать:
$builder->add('cars', null, array( 'group_by'=> 'brand' ));