#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"