简单文件包含Zend中的问题?

时间:2011-05-29 07:31:08

标签: php zend-framework ubuntu include-path

我在ubuntu上创建了一个zend项目,该项目位于 / 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 个答案:

答案 0 :(得分:2)

您可以添加多个路径来查找脚本视图文件。最好的方法是在bootstrap文件中为所有常见文件(如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/');
}

答案 1 :(得分:0)

<? $this->setScriptPath('/student/application/views/scriptss'); ?>
<?= $this->partial('index/head.phtml') ?>

答案 2 :(得分:0)

我在Controller的init()函数中添加了以下行。

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

在视图中添加 head.phtml 文件,如下所示:

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

文件已成功添加。