更改Zend Framework模块视图脚本路径

时间:2011-08-24 20:56:41

标签: zend-framework view module path

目前查看位于APPLICATION_PATH . '/modules/my_module/views/scripts/'的脚本。我想在'/modules/my_module/views/'中放置脚本(删除脚本文件夹)。怎么做到这一点?

的application.ini:

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.modules[] =
resources.view.scriptPath.default = APPLICATION_PATH "/views"

4 个答案:

答案 0 :(得分:6)

您可以使用setScriptPath(APPLICATION_PATH . '/modules/my_module/views')视图方法替换脚本路径。

您还可以使用addScriptPath(APPLICATION_PATH . '/modules/my_module/views')添加脚本路径,而不会覆盖前一个路径。我用它来组织不同文件夹中的视图脚本。

希望有帮助...

答案 1 :(得分:6)

我创建了插件:

class Application_Model_Controller_Plugin_AddScriptPath extends Zend_Controller_Plugin_Abstract
{
    public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request) {
        $view = Zend_Controller_Action_HelperBroker::getExistingHelper('ViewRenderer')->view;
        $scriptPath = sprintf('%s/modules/%s/views',
                APPLICATION_PATH,
                $request->getModuleName());
        if (file_exists($scriptPath)) {
            $view->addScriptPath($scriptPath);
        }
    }
}

并在application.ini注册:

resources.frontController.plugins[] = "Application_Model_Controller_Plugin_AddScriptPath"

答案 2 :(得分:0)

我知道这很古老但可能对某人有所帮助。我有同样的问题。我通过使用

实现了这一目标
resources.view.scriptPath = APPLICATION_PATH "/views/"

答案 3 :(得分:0)

如果您想要更改任何操作的视图脚本
在你的控制器动作中添加:

$ this-> view-> addScriptPath(APPLICATION_PATH。' your / path');
$这 - >的renderScript(' list.phtml&#39);