Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Zf] dwa menu(chociaż jedno;/)
Forum PHP.pl > Forum > PHP > Frameworki
marki
edit: Okazało się, że metoda menu kolidowała z moim view helperem. Nie mam pojęcia jaka jest zależność, ale ważne że działa..

Nie mam już siły do tego.. Co robię:
  1. //bootstrap
  2. protected function _initNavigation()
  3. {
  4. $config = new Zend_Config_Xml(APPLICATION_PATH. "/configs/navigation.xml",'navigation');
  5. $usermenuxml = new Zend_Config_Xml(APPLICATION_PATH. "/configs/navigation.xml",'usernav');
  6.  
  7. $navigation = new Zend_Navigation($config);
  8. $usermenu = new Zend_Navigation($usermenuxml);
  9.  
  10. Zend_Registry::set('usernav', $usermenu);
  11.  
  12. Zend_Layout::startMvc(); // This is missing from every other tutorial I have seen
  13. $view = Zend_Layout::getMvcInstance()->getView();
  14. $view->navigation($navigation);
  15. }

W wygladzie i view helperze próbuję już na każdy jaki znajdę w googlu i stronie zenda sposób dodać chociaż jedno menu. Nie wychodzi. Próbowałem na sryliard sposobów zrobić to w inny sposób niż ten znaleziony ze startMvc, bez powodzenia. W niemal wszystkich poradnikach jakie znajdę występuje linijka w wyglądzie $this->navigation()->menu(). Problem w tym, że wyskakują mi błędy, że takiej metody NIE MA i koniec. Mam już dosyć zenda a sporo zrobiłem z nim w obecnej stronie i właściwie tylko menu mi brakuje. Proszę o w miarę szybką pomoc..
Janusz1200
Ja w bootstrap mam:

  1. protected function _initMyView() {
  2.  
  3.  
  4. $this->bootstrap('view');
  5. $view = $this->getResource('view');
  6. ....
  7.  
  8. $navContainerConfig = new Zend_Config_Xml(APPLICATION_PATH . '/configs/navigation.xml', 'nav');
  9. $navContainer = new Zend_Navigation($navContainerConfig);
  10. $view->navigation($navContainer);
  11.  
  12. }


i w layout:

  1. <?php echo $this->navigation()->menu()->render() ?>


a strona jest tu:
[CIACH]

z tym prostym menu.
melkorm
  1. protected function _initNavigation()
  2. {
  3. // po pierwsze nie musisz tego robić dwa razy:
  4. $config = new Zend_Config_Xml( APPLICATION_PATH . "/configs/navigation.xml", 'navigation' );
  5.  
  6. $navigation = new Zend_Navigation( $config->navigation );
  7. $usermenu = new Zend_Navigation( $config->usernav );
  8. // odpalamy widok
  9. $this->bootstrap('view');
  10. // pobieramy widok
  11. $view = $this->getResource('view');
  12. // wrzucamy do widoku
  13. $view->usernav = $navigation;
  14. $view->navigation = $navigation;
  15. // możesz też wrzucić do layout
  16. // $view->layout()->navigation = $navigation;
  17. // i wtedy w widoku zamiast $this->navigation to $this->layout()->navigation
  18. }
  19.  
  20. // w widoku gdziekolwiek:
  21. // nawigacja usera
  22. $this->navigation( $this->usernav )->menu()->render();
  23. // główna
  24. $this->navigation( $this->navigation )->menu()->render();


Pisane z palca, nie testowane, jak coś się wysypie pisz.
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.