0

在我的 MVC 应用程序的视图和布局脚本中,我经常需要访问方便的方法,例如isLoggedIn()isAdmin(). 我想将这些放在基本视图中,以便我可以使用$this->isLoggedIn()或访问它们$this->isAdmin()。这样做的正确方法是什么?

我尝试用 MY_Base_View 扩展 Zend_View。然后我创建了一个 View 资源并从我的引导程序中对其进行了初始化。我知道它正在初始化,因为页面标题工作正常。这是资源中的代码:

$this->_view = new MY_Base_View();
$this->_view->headTitle('My page title!');

但是,当我在视图脚本中时,如果 I print_r($this),它表示该对象是 Zend View 对象(不是 MY_Base_View)。

布局也有类似的问题。

谢谢!

4

1 回答 1

0

啊!!整理出来。在视图资源中,我需要为 ViewRenderer 设置视图,如下:

    $viewRenderer = Zend_Controller_Action_HelperBroker
        ::getStaticHelper('ViewRenderer');
    $viewRenderer->setView($this->_view);           

(它在手册的资源部分!)无论如何,这就是我所要做的。为了完成它的工作,布局会寻找在渲染器中注册的视图......

于 2013-03-22T07:15:45.820 回答