Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ZF]Dostęp do zasobu layoutu z Bootstrapa modułu
darko
post 4.03.2010, 16:52:34
Post #1





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Witam. Problem zapewne błahy, jednak nie mogę przez to przebrnąć. Mam aplikację napisaną w ZF z podziałem na moduły (ZF 1.9.5.). I teraz próbuję przy pomocy Bootstrap.php w powiedzmy module X dostać się do zasobu layoutu. Moim celem jest jedynie dołączenie skryptów js i arkuszy css w sekcji head dokumentu generowanego dla modułu X. Próbowałem tak:
  1. class X_Bootstrap extends Zend_Application_Module_Bootstrap {
  2.  
  3. protected function _initHtml() {
  4. $this->bootstrap("layout");
  5. $layout = $this->getResource("layout");
  6. $view = $layout->getView();
  7. $url = '/COS_TAM';
  8. // css
  9. $view->headLink()->appendStylesheet($url."/application/modules/X/views/css/abc.css");
  10. $view->headLink()->appendStylesheet($url."/application/modules/X/views/css/xyz.css");
  11. // js
  12. $view->headScript()->appendFile($url . '/application/modules/X/views/js/abc.js');
  13. $view->headScript()->appendFile($url . '/application/modules/X/views/js/xyz.js');
  14. }
  15. }

i:
Kod
Fatal error: Uncaught exception 'Zend_Application_Bootstrap_Exception' with message 'Resource matching "layout" not found' in /var/www/XXX/library/Zend/Application/Bootstrap/BootstrapAbstract.php:687 Stack trace: #0 /var/www/XXX/library/Zend/Application/Bootstrap/BootstrapAbstract.php(622): Zend_Application_Bootstrap_BootstrapAbstract->_executeResource('layout') #1 /var/www/XXX/library/Zend/Application/Bootstrap/BootstrapAbstract.php(579): Zend_Application_Bootstrap_BootstrapAbstract->_bootstrap('layout') #2 /var/www/XXX/application/modules/X/Bootstrap.php(13): Zend_Application_Bootstrap_BootstrapAbstract->bootstrap('layout') #3 /var/www/XXX/library/Zend/Application/Bootstrap/BootstrapAbstract.php(662): X_Bootstrap->_initHtml() #4 /var/www/XXX/library/Zend/Application/Bootstrap/BootstrapAbstract.php(615): Zend_Application_Bootstrap_BootstrapAbstract->_executeResource('html') #5 /var/www/XXX/library/Zend/Application/Bootstrap/BootstrapAbstract.php(579 in /var/www/XXX/library/Zend/Application/Bootstrap/BootstrapAbstract.php  on line 687


Plik Bootstrap.php jest we właściwym miejscu (jak w pozostałych modułach, dla których jednak nie zachodziła potrzeba dopisywania czegokolwiek do Bootstrapów), ścieżki się zgadzają, bo sprawdziłem, wszystko powinno działać, jednak nie działa.

Próbowałem też tak:

  1. class X_Bootstrap extends Zend_Application_Module_Bootstrap {
  2.  
  3. protected function _initHtml() {
  4. //$this->bootstrap("layout");
  5. parent::bootstrap("layout");
  6. //$layout = $this->getResource("layout");
  7. $layout = parent::getResource("layout");
  8. $view = $layout->getView();
  9.  
  10. $url = '/COS_TAM';
  11. // css
  12. $view->headLink()->appendStylesheet($url."/application/modules/X/views/css/abc.css");
  13. $view->headLink()->appendStylesheet($url."/application/modules/X/views/css/xyz.css");
  14. // js
  15. $view->headScript()->appendFile($url . '/application/modules/X/views/js/abc.js');
  16. $view->headScript()->appendFile($url . '/application/modules/X/views/js/xyz.js');
  17. }
  18. }

Jednak dalej to samo. Proszę o jakiekolwiek wskazówki/uwagi, co źle robię.


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
thm
post 8.03.2010, 13:50:08
Post #2





Grupa: Zarejestrowani
Postów: 52
Pomógł: 10
Dołączył: 6.10.2008
Skąd: Lublin

Ostrzeżenie: (0%)
-----


w application.ini
Kod
resources.layout[] =
Go to the top of the page
+Quote Post
darko
post 8.03.2010, 14:25:16
Post #3





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Po czy przed:
resources.layout.layoutpath = APPLICATION_PATH "/layouts"
?


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
batman
post 8.03.2010, 14:50:00
Post #4





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




  1. resources.modules = ""
  2. TWOJA_NAZWA_MODULU.resources.layout.layoutPath = APPLICATION_PATH "/modules/layouts/scripts"


W miejscu TWOJA_NAZWA_MODULU wstaw moduł, w którym chcesz, żeby to działało.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
darko
post 8.03.2010, 16:18:32
Post #5





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Wow! To naprawdę działa smile.gif Po raz kolejny wielkie dziękuję ~batman


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
batman
post 8.03.2010, 23:25:45
Post #6





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Właśnie zauważyłem, że wkradł się błąd do mojego przykładu powinno być tak:
  1. TWOJA_NAZWA_MODULU.resources.layout.layoutPath = APPLICATION_PATH "/modules/TWOJA_NAZWA_MODULU/layouts/scripts"

Oczywiście położenie layoutu to sprawa umowna, ale lubię jak wszystko jest poprawnie napisane winksmiley.jpg


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
darko
post 9.03.2010, 05:59:24
Post #7





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Wystarczy też przekierować ścieżkę layoutu dla modułu do lokalizacji, gdzie rezyduje layout ogólny, wspólny dla wszystkich modułów, tak czy siak pomogłeś bardzo, poradziłem sobie, dzięki wielkie. Pozdrawiam.


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 13.06.2025 - 08:48