Zend framework Zend框架,用于声明所有页面中出现的值

Zend framework Zend框架,用于声明所有页面中出现的值,zend-framework,Zend Framework,我在页面顶部有一个登录表单。仅当用户未登录所有页面时,我才会出现。我应该在哪里声明生成登录表单的类,以便在布局中使用它。 我尝试了我的引导类 protected function _initView(){ $this->bootstrap('view'); $view = $this->getResource('view'); $view->headLink()->appendStylesheet($view->baseUrl('/css/d

我在页面顶部有一个登录表单。仅当用户未登录所有页面时,我才会出现。我应该在哪里声明生成登录表单的类,以便在布局中使用它。 我尝试了我的引导类

protected function _initView(){
    $this->bootstrap('view');
    $view = $this->getResource('view');
    $view->headLink()->appendStylesheet($view->baseUrl('/css/default.css'));
$auth = Zend_Auth::getInstance();       
if(!$auth->hasIdentity()) { 
        $login = new Application_Form_User();
        $view->login = $login;
    }
} 也不管用。我也试过了

protected function _initView(){
    $view = new Zend_View();
    $view->headLink()->appendStylesheet('http://localhost/backend/public/css/default.css');
    $auth = Zend_Auth::getInstance();       
    if(!$auth->hasIdentity()) { 
            $login = new Application_Form_User();
            $view->login = $login;
}}

为此,请使用前端控制器插件。
请参见使用前端控制器插件。
请参见使用视图辅助对象显示表单/登录文本


您可以使用特定的控制器操作来处理表单,也可以使用控制器操作助手来处理任何页面上的登录表单提交。

使用视图助手来显示表单/登录文本


您可以使用特定的控制器操作来处理表单,也可以使用控制器操作帮助器来处理任何页面上的登录表单提交。

创建如下视图帮助器:

class Application_View_Helper_LoginForm
{
    public function loginForm()
    {
        $auth = Zend_Auth::getInstance();

        if(!$auth->hasIdentity())
        {
            $login = new Application_Form_User();
            return $login;
        }
    }
}
您还必须在引导中注册视图帮助器路径。参数1是路径,参数2是类名的前缀

protected function _initViewHelpers()
{
    $this->bootstrap('view');
    $view = $this->getResource('view');

    $view->addHelperPath(APPLICATION_PATH . '/views/helpers/', 'Application_View_Helper');
}
然后,要显示表单,请在布局中添加以下代码:

<?php echo $this->loginForm(); ?>

创建视图辅助对象,如下所示:

class Application_View_Helper_LoginForm
{
    public function loginForm()
    {
        $auth = Zend_Auth::getInstance();

        if(!$auth->hasIdentity())
        {
            $login = new Application_Form_User();
            return $login;
        }
    }
}
您还必须在引导中注册视图帮助器路径。参数1是路径,参数2是类名的前缀

protected function _initViewHelpers()
{
    $this->bootstrap('view');
    $view = $this->getResource('view');

    $view->addHelperPath(APPLICATION_PATH . '/views/helpers/', 'Application_View_Helper');
}
然后,要显示表单,请在布局中添加以下代码:

<?php echo $this->loginForm(); ?>

您好,我收到…致命错误:注册表中未找到未捕获的异常“Zend_Loader_PluginLoader_exception”,消息为“Plugin by name”“LoginForm”;使用的路径:Zend_View_Helper_:Zend/View/Helper/:/var/www/backend/application/views/helpers/“。。。。。。。。我在/application/views/helpersHi中命名了文件loginform.php,我得到了…致命错误:在注册表中找不到未捕获的异常“Zend_Loader_PluginLoader_exception”,消息是“Plugin by name”“loginform”;使用的路径:Zend_View_Helper_:Zend/View/Helper/:/var/www/backend/application/views/helpers/“。。。。。。。。我在/application/views/helpers中将文件命名为loginform.php