我正在通过Zend框架书工作,并且在更改默认视图位置的示例中停留了几天。作为上市的方法:Zend中的setScriptPath无法找到文件
$this->view->setScriptPath("/views/");
$this->render("news");
我把我的news.phtml
文件中views
目录(而不是默认的views/scripts/artist
,但我得到的是说找不到网页的消息我已尝试的许多方法。网络,如键入
$this->view->setScriptPath("/application/views/");
或
$this->view->setScriptPath(APPLICATION_PATH."/views/");
但都没有工作。
有人请赐教吗?
为了提高清晰度,我怀疑它与我的机器设置有关。我在Mac 10.7上运行,我已经激活了内置的PHP和Apache。既然Zend提供了它自己的堆栈,那么在设置文件(比如php.ini)中是否会有冲突呢?
更多编辑: 我放下整个方法:
public function newsAction()
{
//Check if the user is logged in
//Get the user's id
//
//Get the artists
$artists = array("Thievery Corporation",
"The Eagles",
"Elton John");
//Set the view vairables
$this->_helper->viewRenderer->setRender('news');
$this->view->setScriptPath(APPLICATION_PATH.'/views/');
$this->_helper->viewRenderer->setNeverController(true)->setRender('news');
}
我把news.phtml
在views
目录。我输入的网址是http://localhost:10088/loudbite/artist/news
。 artistController
位于控制器文件夹中。仍然不起作用。 有什么不对?
我曾尝试过。我试过的无数组合之一。我不工作。 – Standstill 2012-02-12 03:10:03
在大多数情况下你会得到一个例外,而不是在一些情况下?我在Zend应用程序和独立程序中都使用了我的精确方法,所以您应该能够使其工作。你从哪里试图做到这一点?控制器还是其他地方? – drew010 2012-02-12 03:14:55
是的。上面的代码在控制器中,所以视图将被定向到默认views/scripts /文件夹。如果我通过setScriptPath()更改为另一个文件夹,我的浏览器会说找不到页面。 – Standstill 2012-02-12 03:45:13