2009-09-20 97 views
1

比方說,我有2個控制器,內容和新聞:視圖中的Zend超載框架

類ContentController擴展化Zend_Controller_Action {}

類NewsController擴展ContentController {}

如果有沒有找到新聞控制器的視圖,我希望Zend使用其父控制器的腳本路徑。 我怎樣才能實現這一點,而不必路由到其父控制器?

回答

3

您必須手動添加SCRIPTPATH:

class ContentController extends Zend_Controller_Action { 

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

} 

class NewsController extends ContentController { 

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

這將使用視圖腳本偏轉的堆棧功能。它將首先查找最後指定的路徑,即APPLICATION_PATH。 '/ views/scripts/news',如果沒有找到腳本,它會在棧上的第二個目錄中查找,即APPLICATION_PATH。 '/ views/scripts/content'