Изменение пути к исходному макету в Zend Framework

#zend-framework

#zend-framework

Вопрос:

я пытаюсь изменить исходный путь для макетов в моем приложении ZF.

 $viewsPath = '../application/_layouts';
$options = array('layoutPath' => $viewsPath, 'layout' => 'layout');
Zend_Layout::startMvc();

//Initializing Zend_View
$view = Zend_Layout::getMvcInstance()->getView();
$view->setBasePath($viewsPath);
  

ZF пытается найти макет в /application/_layouts/scripts

addBasePath() в Zend_View_Abstract делает $this->addScriptPath($path . 'scripts');

Мне нужно использовать /application/_layouts/layout.phtml вместо /application/_layouts/scripts/layout.phtml

Как заставить ZF игнорировать папку «скрипты» без перезагрузки Zend_View_Abstract::addBasePath() ?

Комментарии:

1. О! прошу прощения. я потратил на это 2 часа:( но проблема была в Zend_Layout::startMvc( $options );

2. Альтернатива — в случае, если вы используете zend_application — вы можете использовать ini-директиву: resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/" и изменить путь в соответствии с вашими потребностями

Ответ №1:

Если вы используете стандарт Zend_Application_Bootstrap , вы можете установить эти переменные в своем application.ini, а фреймворк сделает все остальное:

 resources.view.helperPath                     = APPLICATION_PATH "/views/helpers"
resources.layout.layoutPath                   = APPLICATION_PATH "/views/layouts"