Zend framework Zend框架中的视图重载

Zend framework Zend框架中的视图重载,zend-framework,Zend Framework,假设我有两个控制器,内容和新闻: 类ContentController扩展Zend_控制器_操作{} 及 类NewsController扩展ContentController{} 如果没有找到新闻控制器的视图,我希望Zend使用其父控制器的脚本路径。 如何在不必路由到其父控制器的情况下实现此目的?您必须手动添加脚本路径: class ContentController extends Zend_Controller_Action { public function init()

假设我有两个控制器,内容和新闻:

类ContentController扩展Zend_控制器_操作{}

类NewsController扩展ContentController{}

如果没有找到新闻控制器的视图,我希望Zend使用其父控制器的脚本路径。
如何在不必路由到其父控制器的情况下实现此目的?

您必须手动添加脚本路径:

class ContentController extends Zend_Controller_Action { 

   public function init()
   {
      $this->view->addScriptPath(APPLICATION_PATH . '/views/scripts/content');
   }

}

这将使用视图脚本拐点的堆栈功能。它将首先查找最后指定的路径,即应用程序路径/views/scripts/news',如果在那里找不到脚本,它将查找堆栈上的第二个目录,即应用程序路径/视图/脚本/内容”

class NewsController extends ContentController {

   public function init ()
   {
       // Ensure that ContentController inits.
       parent::init();
      $this->view->addScriptPath(APPLICATION_PATH . '/views/scripts/news');
   }
}