Просмотр перегрузки в Zend Framework - PullRequest
1 голос
/ 20 сентября 2009

Допустим, у меня есть 2 контроллера, контент и новости:

класс ContentController расширяет Zend_Controller_Action {}

и

Класс NewsController расширяет ContentController {}

Если для контроллера новостей не найдено представлений, я хочу, чтобы Zend использовал путь сценариев своего родительского контроллера. Как я могу добиться этого без необходимости маршрутизировать его родительский контроллер?

1 Ответ

3 голосов
/ 20 сентября 2009

Вам нужно будет добавить 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'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...