Это работает.Я адаптировал это из формы, которую я использую, поэтому застрял в нескольких других вещах, таких как идентификаторы, которые вы можете использовать, если хотите.В любом случае полезно посмотреть, как все это получается:
В моем контроллере:
private function _theForm() {
$form = new Zend_Form;
$form->setAction('/controller/action')
->setMethod('post')
->addAttribs(array('id' => 'an_id_for_the_form'));
$form->addElement('text', 'start', array(
'validators' => array(
'NotEmpty'
),
'label' => 'Start:',
'id' => 'someid',
'required' => true,
'decorators' => array(
'ViewHelper',
'Errors',
'Label',
),
));
$form->addElement('text', 'end', array(
'validators' => array(
'NotEmpty'
),
'label' => 'End:',
'id' => 'someotherid_if_you_like',
'required' => true,
'decorators' => array(
'ViewHelper',
'Errors',
'Label',
),
));
$form->addElement('submit', 'submitSomething', array(
'label' => 'Submit',
'decorators' => array(
'ViewHelper',
)
));
$form->setDecorators(array(
'FormElements',
array('HtmlTag', array('tag' => 'p', 'id' => 'foo')),
'Form',
));
return $form;
}
Затем я вызываю это в другом месте моего контроллера, например:
$form = $this->_theForm();
$this->view->form = $form;
Затемвы можете использовать его по вашему мнению, как:
<?php echo $this->form; ?>