Простая проблема с включением файла в Zend?
Я создал проект Zend для Ubuntu, который находится в каталоге /var/www/student/.
Теперь у меня есть файл head.phtml в этом месте:
/student/application/views/scripts/index/head.phtml
Когда я пытаюсь включить файл head.phtml в
/student/application/modules/test/views/scripts/all/index.phtml
Как это:
echo $this->partial('index/head.phtml');
Это дает мне следующую ошибку:
Message: script 'index/head.phtml' not found in path (/var/www/student/application/modules/notification/views/scripts/)
Включение файлов - это всегда сложная работа для меня. Как это исправить. Я должен включить этот файл во многих модулях, что является постоянным решением для этого, что я не должен угадывать путь
Спасибо
3 ответа
Вы можете добавить несколько путей для поиска файлов скриптов. Лучший способ - сделать это в файле начальной загрузки для всех ваших общих файлов (таких как head, footer, metas...).
Просто добавьте метод setupView в ваш загрузчик, где вы имеете дело со всем, что реализовано в ваших представлениях:
protected function _initView()
{
$view = new Zend_View();
// setup your view with jquery and other stuffs...
// [ ... ]
// add the view directory to the stack of scripts paths
$view->addScriptPath(APPLICATION_PATH . '/views/scripts/');
}
<? $this->setScriptPath('/student/application/views/scriptss'); ?>
<?= $this->partial('index/head.phtml') ?>
Я добавил следующую строку в контроллере init()
функция.
public function init() {
$this->view->addScriptPath( APPLICATION_PATH . '/views/scripts/' );
}
Добавьте файл head.phtml в таком виде:
echo $this->partial('index/head.phtml');
Файл успешно добавлен.