Простая проблема с включением файла в Zend? - PullRequest
3 голосов
/ 29 мая 2011

Я создал проект 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 ]

2 голосов
/ 30 мая 2011

Вы можете добавить несколько путей для поиска файлов вида скрипта.Лучший способ - сделать это в файле начальной загрузки для всех ваших общих файлов (таких как 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/');
}
0 голосов
/ 30 мая 2011

Я добавил следующую строку в функцию контроллера init().

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

Добавьте head.phtml файл в таком виде:

echo $this->partial('index/head.phtml');

Файлуспешно добавлено.

0 голосов
/ 29 мая 2011
<? $this->setScriptPath('/student/application/views/scriptss'); ?>
<?= $this->partial('index/head.phtml') ?>
...