如何消除视图/脚本文件夹?

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 中重新编写此批处理脚本以消除文件名中我想要的字符的指导

如何中断或消除 inotifywait 循环?

消除IE提示“限制脚本或ActiveX控件”的方法

在unity中,如何在脚本中根据路径找到文件,然后在project面板中用黄色的框框出来?

如何在下一个视图中途翻转时消除白框?

无法从脚本.sh中删除.tgz文件