zend Framework. Вызов другого файла javascript, указанного действием / контроллером

Я хочу разделить уникальный файл javascript, чтобы получить файл по действию. На своих контроллерах я использую jQuery () -> addJavascriptFile () для вызова файлов js:

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

В моей папке public / js я получил папку по контроллеру и файл js по действию ... Он хорошо работает только с indexAction, для всех остальных имя контроллера вставляется в URI: С indexAction: http://192.168.78.208/demande_absence/public/js/demandes/index.js С любым другим: http://192.168.78.208/demande_absence/ требует /public/js/demandes/nouvelle.js

Что я сделал не так?


person SiCK    schedule 09.02.2012    source источник


Ответы (2)


Пытаться:

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

И я думаю, вам также нужно использовать что-то вроде помощника просмотра baseurl для создания правильного URL-адреса.

person Johni    schedule 09.02.2012
comment
baseUrl - помощник просмотра. Как я могу использовать это в контроллере? - person SiCK; 09.02.2012
comment
@SiCK $this->view->baseUrl... - person jonathancardoso; 09.02.2012

Может потому, что это не абсолютный путь. Попробуй это:

$this->view->jQuery()->addJavascriptFile('/public/js/' . $this->getRequest()->getControllerName() . '/' . $this->getRequest()->getActionName() . '.js');
person czerasz    schedule 09.02.2012
comment
Я предпочитаю использовать view- ›baseUrl (), потому что пути dev и prod servs различаются - person SiCK; 10.02.2012