Подтвердить что ты не робот

Выбрать с помощью optgroup в Symfony 2.0

В Symfony2 компонент select html отображается как объект ChoiceType, который также используется для checkboxes и 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> 

Кроме того, обратите внимание, что здесь есть аналогичная запись , но ответы не убедительны.

4b9b3361

Ответ 1

Сделайте это:

$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

Ответ 2

Это зависит от того, как определяется ваше сущность и как вы группируете свою сущность. Предполагая, что группировка выполняется с учетом параметра в вашем объекте, скажем, "бренд". Вы можете сделать:

$builder->add('cars', null, array(
  'group_by'=> 'brand'
));