Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZendFramework]ZendX i addJavascriptFile()
Forum PHP.pl > Forum > PHP > Frameworki
Largo
Witam,

Próbuję zmienić metodę addJavascriptFile() tak, aby do każdego dodanego JS'a dodawała na końcu wersję aplikacji. Napisałem do tego Helper'a, ale on się w ogóle nie wykonuje. Czy da się tą metodę tak przesłonić, aby jej wywołanie się nie zmieniło? Potrzebuję usunąć cachowanie JS poprzez dodanie parametru do tych plików.

Dzięki za wszelkie rady!
ActivePlayer
a jestes pewny ze helper umieściłeś w ścieżce o wyższym priorytecie? z tego co pamietam zend najpóźniej zainicjowane scieżki helperów traktuje jako najważniejsze, wiec upewnij sie ze zendx jest inicjowane przed zainicjowaniem lokalizacji Twojego helpera. oczywiscie najlepiej jak byc napisal helper dziedziczący po helperze źródłowym i zmienił w nim tylką tę jedną metodę.
Largo
Sprawdziłem i nic - kod Helper'a nie jest wykonywany. To mnie najbardziej dziwi. Ścieżki do helperów mam tak zainicjowane:

  1. $view->addHelperPath('App/View/Helper/', 'App_View_Helper');
  2. $view->addHelperPath('App/JQuery/View/Helper/', 'App_JQuery_View_Helper');
  3. $view->addHelperPath('ZendX/JQuery/View/Helper/', 'ZendX_JQuery_View_Helper');


W ten sposób rozumuje, że ZendX jest ostatni i jest najważniejszy, ale zmiana go na samą górę nic nie zmieniła, może zapodam kod Helper'a:

  1. <?php
  2. class App_JQuery_View_Helper_AddJavascriptFile extends ZendX_JQuery_View_Helper_JQuery
  3. {
  4. public function addJavascriptFile($path)
  5. {
  6. $path = (string) $path;
  7. if (!in_array($path, $this->_javascriptSources)) {
  8. $this->_javascriptSources[] = (string) $path . '?' . App_Version::VERSION;
  9. }
  10. }
  11. }


Wrzucony jest do ścieżki App/JQuery/View/Helper.
ActivePlayer
Kod
class App_JQuery_View_Helper_AddJavascriptFile extends ZendX_JQuery_View_Helper_JQuery

Twoj helper sie powinien chyba jQuery nazywac?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.