2012-02-09 113 views
0

我想分割一个唯一的JavaScript文件以通过操作获取文件。 在我的控制器使用jQuery() - > addJavascriptFile()调用js文件:zend框架。调用由动作/控制器指定的另一个JavaScript文件

class DemandesController extends Zend_Controller_Action 
{ 
    public function init() 
    { 
    $this->view->jQuery()->addJavascriptFile('public/js/' . $this->getRequest()->getControllerName() . '/' . $this->getRequest()->getActionName() . '.js'); 
    } 
} 

在我的公开/ JS文件夹中我得到了由控制器文件夹,并用行动一个js文件... 它的工作原理以及只与的indexAction,所有控制器的名称被插入到URI别人的: 用的indexAction:http://192.168.78.208/demande_absence/public/js/demandes/index.js 与任何其他:http://192.168.78.208/demande_absence/demandes /public/js/demandes/nouvelle.js

我做错了什么?

回答

1

尝试:

$this->view->jQuery()->addJavascriptFile('/public/js/' . $this->getRequest()->getControllerName() . '/' . $this->getRequest()->getActionName() . '.js'); 

,我想你也必须使用类似的BaseURL视图助手来建立一个正确的URL。

+0

baseUrl是一个视图助手。我如何在控制器中使用它? – SiCK 2012-02-09 16:25:21

+1

@SiCK'$ this-> view-> baseUrl ...' – JCM 2012-02-09 16:33:49

+0

Thanks !!!!在开始时缺少$ this-> view-> baseUrl() – SiCK 2012-02-10 08:45:56

0

也许是因为它不是绝对路径。试试这个:

$this->view->jQuery()->addJavascriptFile('/public/js/' . $this->getRequest()->getControllerName() . '/' . $this->getRequest()->getActionName() . '.js'); 
+0

我更喜欢使用view-> baseUrl(),因为dev和prod服务的路径是不同的 – SiCK 2012-02-10 08:49:06

相关问题