Как создать это с помощью $ this-> formSelect ()?
<select multiple> <optgroup label="a"> <option>1</option> <option>2</option> </optgroup> <optgroup label="b"> <option>1</option> </optgroup> </select>
Для 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). Просто добавьте значение или параметры в дополнительный массив.
В 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.