Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZF]Konflikt routerów z nawigacją
IceManSpy
post 12.06.2011, 10:33:17
Post #1





Grupa: Zarejestrowani
Postów: 1 006
Pomógł: 111
Dołączył: 23.07.2010
Skąd: Kraków

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


Witam

Zrobiłem proste menu (bez okruszków chleba smile.gif ) z bloga Batman'a:
http://blog.wilgucki.pl/2009/10/zendnaviga...ymy-menu-i.html
Tylko trochę prostsze:
  1. <?php
  2. return array(
  3. 'label' => 'Lista artykułów',
  4. 'module' => 'admin',
  5. 'controller' => 'article',
  6. 'action' => 'index'
  7. ),
  8. 'label' => 'Dodaj artykuł',
  9. 'module' => 'admin',
  10. 'controller' => 'article',
  11. 'action' => 'add'
  12. ),
  13. 'label' => 'Edytuj artykuł',
  14. 'module' => 'admin',
  15. 'controller' => 'article',
  16. 'action' => 'edit'
  17. ),
  18. 'label' => 'Usuń artykuł',
  19. 'module' => 'admin',
  20. 'controller' => 'article',
  21. 'action' => 'delete'
  22. ),
  23. 'label' => 'Wyloguj się',
  24. 'module' => 'admin',
  25. 'controller' => 'index',
  26. 'action' => 'logout'
  27. )
  28. );
  29. ?>

Dodałem odpowiednie dane do boostrapa i layout'u. Wszystko działa super. Czas na naukę routerów biggrin.gif
Więc w boostrapie dopisałem takie coś:
  1. public function _initRoutes()
  2. {
  3. $router = Zend_Controller_Front::getInstance()->getRouter();
  4. $router->addRoute('lista',new Zend_Controller_Router_Route
  5. ('admin/lista',
  6. array('action'=>'index','controller'=>'article','module'=>'admin')));
  7. return $router;
  8. }

Router działa, ja wpiszę się w adresie admin/lista , tylko że zastępuje on wszystkie linki w menu. Czyli wszystkie mają w sobie admin/lista . Jak i gdzie to naprawić? sad.gif

P.S. Menu lepiej trzymać w pliku php, czy XML? Czy to bez różnicy?


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
IceManSpy
post 12.06.2011, 21:23:52
Post #2





Grupa: Zarejestrowani
Postów: 1 006
Pomógł: 111
Dołączył: 23.07.2010
Skąd: Kraków

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


Ale u mnie linki w menu są tworzone za pomocą pliku, który jest w pierwszym listingu. Potem w boostrapie mam takie coś:
  1. protected function _initNavigation()
  2. {
  3. $this->bootstrap('layout');
  4. $layout = $this->getResource('layout');
  5. $view = $layout->getView();
  6.  
  7. $config = require APPLICATION_PATH. '/configs/menu_admin.php';
  8. $navigation = new Zend_Navigation($config);
  9. $view->navigation($navigation);
  10. }

I ładnie generuje menu.
A potem ustawiłem w boostrapie ten jeden router dla zabawy, aby sprawdzić jak to działa.
A jak wpisze ten jeden router, to potem nawigacja nie działa. Musiałbym ręcznie w layoutcie ustawiać adresy.


--------------------
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.08.2025 - 16:41