проблема с массивом addmultioption в Zend

Я пытаюсь добавить параметры в свой элемент Zend_Form_Element_Select

$monthvalues = new Zend_Form_Element_Select('month_values');
$table = new Model_DbTable_Options();
$monthvalues->addMultiOptions($table->Months())

В моей модели Model_DbTable_Options у меня есть

public function Months()
    {
        $array = array(
        '01' => 'Jan',
        '02' => 'Feb',
        '03' => 'Mar',
        '04' => 'Apr',
        '05' => 'May',
        '06' => 'Jun',
        '07' => 'Jul',
        '08' => 'Aug',
        '09' => 'Sep',
        '10' => 'Oct',
        '11' => 'Nov',
        '12' => 'Dec',
        );

        return $array;
    }

Это не дает мне желаемого результата. Чего не хватает?


person davykiash    schedule 03.04.2010    source источник
comment
Каков текущий результат?   -  person Naveed    schedule 04.04.2010


Ответы (2)


Создайте такой массив

$myArray = array( 'NULL' => 'Select Month',
                     '1' => 'Jan',
                     '2' => 'Feb',
                     '3' => 'Mar',
                     '4' => 'Apr',
                     '5' => 'May',
                     '6' => 'Jun',
                     '7' => 'Jul',
                     '8' => 'Aug',
                     '9' => 'Sep',
                    '10' => 'Oct',
                    '11' => 'Nov',
                    '12' => 'Dec'
                 );

Создайте такой элемент:

$selectElement = $this->CreateElement('select', 'months');
$selectElement->setLabel('Label');
$selectElement->addMultiOptions( $myArray );
person Naveed    schedule 03.04.2010

Будь осторожен! Если вы добавите значение NULL, подобное этому, в форму Zend, ваша модель $, которую вы сохраните, будет иметь строку значения (4) "NULL"

//в виде

$task->addMultiOption('NULL','');

// как это выглядит в html

выберите параметр id="fk_id_task_task" name="fk_id_task_task" label="" value="NULL" /option

//модель из значений формы

$values ​​= $form->getValues(); $model->fromArray($values, true);

// дамп модели $, и вы получите строку (4) «NULL»

$model->fk_id_task_task = строка(4) "NULL"

person Wil    schedule 29.01.2013