Как добавить переключатель в форму с Zend Framework? - PullRequest
7 голосов
/ 22 ноября 2011

проблема не столько в добавлении элемента формы переключателя, сколько в том, как мне сопоставить его в формате сценария. Похоже, что есть несколько способов сделать что-то в Zend.

вот мой сценарий:

 $this->addElement('text', 'time_from', array(
        'id' => 'datepicker',
        'class' => 'time_from',
        'filters' => array('StringTrim', 'StripTags'),
        'required' => true,
        'label' => 'Start Date of the Week: ',
        'value' => ''
    ));

    $update = $this->addElement('submit', 'update', array(
        'required' => false,
        'ignore' => true,
        'label' => 'Change Time'
            ));

на основе этого шаблона, как мне добавить переключатель?

Я считаю, что логичным подходом было бы использовать что-то вроде этого:

$this->addElement('radio', 'test', array(
            'label'=>'Test Thing',
            'addMultiOptions'=>array(
                'male' => 'Male',
            'female' => 'Female'
            ),
    ));

, но не отображаются переключатели.

Я также пытался заменить:

'male' => 'Male',
'female' => 'Female'

с и массивом, но я получаю все виды ошибок:

array('male'=>'Male', 'female'=>'Female')

есть идеи, как это сделать?

и, если не слишком много вопросов, может кто-нибудь объяснить, почему так много способов сделать эти формы и каков общий знаменатель между ними.

спасибо

1 Ответ

15 голосов
/ 22 ноября 2011

Вы были совершенно правы, но поскольку вы создаете элемент с addElement(), у вас нет addMultiOptions (имя функции), это просто multiOptions.

$this->addElement('radio', 'test', array(
    'label'=>'Test Thing',
    'multiOptions'=>array(
        'male' => 'Male',
        'female' => 'Female',
    ),
));

Сводка всех элементов Zend_Form можно посмотреть здесь Редактировать: обновленная ссылка.

...