Zend Form - 渲染单个元素的问题

时间:2011-05-08 08:45:21

标签: php zend-framework zend-form

我有这种简化形式:

        $this->form = new \Zend_Form();
        $this->form->setAction($request->currentPath());
        $this->form->setMethod('post');


        $this->form->addElement('text', 'firstName', array(
            'label' => 'First name: ',
        ));

我想在我的视图页面中单独渲染元素。像这样:

        <?php echo $form->firstName->renderViewHelper() ?>

但我一直收到这个错误:

致命错误:未捕获的异常'Zend_Form_Decorator_Exception',消息'ViewHelper decorator无法在没有注册视图对象的情况下呈现'。

我做错了什么?我几乎遵循了此页面上的Zend文档: http://framework.zend.com/manual/en/learning.form.decorators.individual.html

此致 为什么

1 个答案:

答案 0 :(得分:3)

您需要在将一个控制器中的表单对象创建到视图脚本之后传递表单对象以呈现表单元素。

$this->view->form = $form;

在您的视图脚本中执行类似

的操作
echo $this->form->firstName->renderViewHelper();