在我的MVC应用程序的视图和布局脚本中,我经常需要访问isLoggedIn()
或isAdmin()
等便捷方法。我想将它们放在基本视图中,以便我可以使用$this->isLoggedIn()
或$this->isAdmin()
访问它们。什么是正确的方法?
我尝试使用MY_Base_View扩展Zend_View。然后我创建了一个View资源并从我的bootstrap初始化它。我知道它被初始化,因为页面标题工作正常。这是资源中的代码:
$this->_view = new MY_Base_View();
$this->_view->headTitle('My page title!');
但是,当我在视图脚本中时,如果我print_r($this)
,则表示该对象是Zend View对象(不是MY_Base_View)。
布局遇到了类似的问题。
谢谢!
答案 0 :(得分:0)
稀释!!把它整理出来。在视图资源中,我需要为ViewRenderer设置视图,如下所示:
$viewRenderer = Zend_Controller_Action_HelperBroker
::getStaticHelper('ViewRenderer');
$viewRenderer->setView($this->_view);
(这是在手册的参考资料部分!)无论如何,这就是我必须做的。为了完成其工作,布局将查找使用渲染器注册的视图...