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/demandes /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