Zend framework 从Zend中的视图助手加载Zend_表单?

Zend framework 从Zend中的视图助手加载Zend_表单?,zend-framework,forms,view,helper,Zend Framework,Forms,View,Helper,是否可以从视图辅助对象加载Zend_表单?我正在登录操作方法中使用此表单。但是我也希望这个表单在每个页面的导航上都是可见的(因此在没有实际调用登录操作的情况下),表单的post方法将发送到login操作方法 我猜应该用视图助手来完成,但我不知道怎么做 有什么想法吗 我试过这个: 我的视图助手: class Zend_View_Helper_LoginForm { function getLoginForm(){ $form = new Form_LoginForm();

是否可以从视图辅助对象加载Zend_表单?我正在登录操作方法中使用此表单。但是我也希望这个表单在每个页面的导航上都是可见的(因此在没有实际调用登录操作的情况下),表单的post方法将发送到login操作方法

我猜应该用视图助手来完成,但我不知道怎么做

有什么想法吗

我试过这个: 我的视图助手:

class Zend_View_Helper_LoginForm
{
    function getLoginForm(){
    $form = new Form_LoginForm();
    return $form;
    }
}
我从我的布局中这样称呼它:
但这不起作用。(不过我可以通过一个动作方法调用相同的表单!)

在本例中,它给了我这个错误(这没有意义,因为我的助手只有9行长):


警告:第44行的C:\xamplite\htdocs\zendpr\library\Zend\View\Helper\Form.php中的Zend\u View\u Helper\Form::Form()缺少参数1

在控制器操作中初始化表单并设置表单引用

// controller action code
$this->view->form = $form;
然后在视图帮助器中,您可以通过视图引用表单

// view helper code
$this->view->form;

视图助手应扩展Zend_view_helper_抽象类,并且视图助手的方法必须与类同名:

class Zend_View_Helper_LoginForm extends Zend_View_Helper_Abstract
{
    function loginForm() {
        $form = new Form_LoginForm();
        return $form;
    }
}
在视图脚本中,您可以这样称呼它:

echo $this->loginForm();
如果你打电话:

echo $this->form();
您正在使用视图辅助对象Zend\u视图辅助对象\u表单

class Zend_View_Helper_LoginForm extents Zend_Form {

    function getLoginForm(){

        $form = new Form_LoginForm();       

        return $form;
    }
} 

$this->view->form=$form

两人都将返回表格。视图窗体对于视图更为具体

将其添加到phtml视图文件中

echo$this->form()

要回答此问题,请删除括号

应该是
echo$this->form

问题是,我不想在我的操作方法中初始化表单,因为这个表单应该在每个页面上都可见,并且我必须在每个操作方法中初始化它。这就是为什么我想用一个动作助手从布局文件中调用它。。。
class Zend_View_Helper_LoginForm extents Zend_Form {

    function getLoginForm(){

        $form = new Form_LoginForm();       

        return $form;
    }
}