2011-08-24 96 views
4

当前查看位于APPLICATION_PATH . '/modules/my_module/views/scripts/'的脚本。我想在'/modules/my_module/views/'(删除脚本文件夹)中放置脚本。如何实现这一目标?更改Zend Framework模块视图脚本路径

的application.ini:

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

回答

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" 
0

我知道这是很老,但它可以帮助别人。我有同样的问题。我用

resources.view.scriptPath = APPLICATION_PATH "/views/" 
0

实现这一点,如果你想改变视图脚本任何行动
您的控制器动作中添加此:

$这个 - >查看 - > addScriptPath(APPLICATION_PATH“你的/路径” );
$ this-> renderScript('list.phtml');