无法从控制器文件访问zend视图

时间:2011-03-02 07:59:44

标签: zend-framework zend-form

在控制器中我有这个

public function loginAction()
{
 $form = new forms_AuthForm();
 $this->view->form = $form;
}

在Authform.php中,我有登录详细信息..

class forms_AuthForm extends Zend_Form
{
   public function __construct($options = null)
    {
        parent::__construct($options);
        $this->setName('login');

 $username = new Zend_Form_Element_Text('username','username');
        $username->setLabel('Username: *')
                  ->setRequired(true);

 $password = new Zend_Form_Element_Text('password','password');
        $password->setLabel('Password: *')
                  ->setRequired(true);

 $submit = new Zend_Form_Element_Submit('submit','submit');
        $submit->setLabel('Login');

        $this->addElements(array($username, $password,
            $submit));

在我给出的login.phtml中

echo $this->form;

不查看表单设计,而是显示空白页面。可能是什么问题?

我可以在控制器文件中打印表单内容,但是当我将表单视图指定为

$this->view->form = $form

并尝试在login.phtml文件中显示表单设计,表单设计不可见。

1 个答案:

答案 0 :(得分:0)

尝试在Authform.php中添加一些装饰器:

    $this->setDecorators(array(
        'FormElements',
        array('HtmlTag', array('tag' => 'dl', 'class' => 'zend_form')),
        array('Description', array('placement' => 'prepend')),
        'Form'
    ));

如果我从我的表单中删除了这个(看起来与你的设计相同),我的表单不会显示,但页面上的其他项目都会显示,只是没有表格。