如何消除视图/脚本文件夹?
Posted
技术标签:
【中文标题】如何消除视图/脚本文件夹?【英文标题】:How do I eliminate the views/scripts folder? 【发布时间】:2010-01-13 18:30:25 【问题描述】:假设我厌倦了将页面模板文件夹放在视图/脚本下,只想将它们放在视图下,而忽略了路径的“脚本”部分。如何更改 ZendFramework 的配置以允许我这样做?
【问题讨论】:
【参考方案1】:尝试以下方法:
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
// ...
protected function _initView()
// Initialise the view
$view = new Zend_View();
$view->addScriptPath(APPLICATION_PATH.'/views');
// set the configured view as the view to be used by the view renderer.
$renderer = Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer');
$renderer->setView($view);
return $view;
// ...
上一个答案缺少您设置视图的部分,您已配置为具有视图渲染器的附加脚本路径。
HTH。
【讨论】:
确实有帮助!惊人的!谢谢。 我的错。我以为他知道如何做这部分。【参考方案2】:查看 ZF Manual for Zend_View
并将其放入您的引导程序中:
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
protected function _initView()
$view = new Zend_View();
$view->setScriptPath('/some/new/path'); // overwrite any paths
$view->addScriptPath('/some/other/path'); // adds additional paths
$view->setEncoding('UTF-8');
$view->doctype('Xhtml1_STRICT');
$view->headMeta()->appendHttpEquiv(
'Content-Type', 'text/html;charset=utf-8'
);
$viewRenderer =
Zend_Controller_Action_HelperBroker::getStaticHelper(
'ViewRenderer'
);
$viewRenderer->setView($view);
return $view;
或configure your Ini for use with Zend_Application_Resource_View
resources.view.encoding = "UTF-8"
resources.view.basePath = APPLICATION_PATH "/views/scripts"
...
请注意,所选的 basePath 采用以下目录结构:
base/path/
helpers/
filters/
scripts/
另见tutorial by Padraic Brady。
【讨论】:
是否可以在项目中全局执行此操作,这样我就不需要在控制器的每个类方法中不断添加它? 是的。请参阅我添加的将其放入 Ini 我将您的 INI 建议设置为“/views”而不是“/views/scripts”,然后在“production”下的 configs/application.ini 中尝试。它没有工作,并且在寻找“脚本”时出错。 编辑您的问题以包含您的一些引导代码。不看就说不清楚。 我刚刚使用了快速入门。没什么特别的。以上是关于如何消除视图/脚本文件夹?的主要内容,如果未能解决你的问题,请参考以下文章
需要有关在 Windows 中重新编写此批处理脚本以消除文件名中我想要的字符的指导