ZendFramework - Как создать optgroup и там вариант с помощью помощников вида?
Как создать это с помощью $this- > formSelect()?
<select multiple>
<optgroup label="a">
<option>1</option>
<option>2</option>
</optgroup>
<optgroup label="b">
<option>1</option>
</optgroup>
</select>
Ответы
Ответ 1
Для Zend_Form_Element_Select() он выглядит следующим образом
$multiOptions = array(
'Group A' => array(1 => 'First Value',2 => 'Second Value A),
'Group B' => array(3 => 'Third Value'),
);
$element->setMultiOptions($multiOptions);
Обратите внимание, что у вас также есть addMultiOption ($ option, $value) и addMultiOptions ($ options). Просто добавьте значение или параметры в дополнительный массив.
Ответ 2
В Zend Framework 2 это можно сделать следующим образом:
$this->add(array(
'name'=>'Test',
'type'=>'Zend\Form\Element\Select',
'attributes'=>array('type'=>'select','required'=>'required'),
'options'=>array(
'label'=>'Test',
'value_options'=>array('fruits'=>array('label'=>'Fruits','options'=>array('1'=>'Apple','2'=>'Mango')),'animals'=>array('label'=>'Animals','options'=>array('cat'=>'CAT','dog'=>'DOG'))),
'empty_option'=>'Please Select'
),
));
обратите внимание, что опция с именем empty_options не существует, вместо этого следует использовать empty_option.