Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZendFramework] Uproszczona ścieżka
Forum PHP.pl > Forum > PHP > Frameworki
kristos44
Piszę małą aplikację w ZF. Doszedłem do wniosku, że będę używał tylko jednego kontrolera akcji (domyślnego index). W związku z tym chciałem zdefiniować ścieżkę, w której ten parametr nie będzie występował, czyli url wyglądał by tak example.com/akcja/ewentualnie jakieś parametry. Jak zdefiniować taką ścieżkę? Probowałem takiego mniej więcej kodu, ale nie działa.
  1. $router = Zend_Controller_Front::getInstance()->getRouter();
  2.  
  3. $my_route = new Zend_Controller_Router_Route('action',array('controller'=>'index'));
  4.  
  5. $router->addRoute('default',$my_route);

Cały czas po wpisaniu urla postaci example.com/akcja krzyczy, że nie ma kontrolera o nazwie akcja.
seth-kk
pewnie dlatego ze wykozystuje domyslny router
uzyj
  1. $router->removeDefaultRoutes();

i popraw
  1. $my_route = new Zend_Controller_Router_Route(':action',array('controller'=>'index'));
kristos44
Dzięki za pomoc. Co prawda problem nie leżał w defaultowej ścieżce bo w tej chwili mam "zarejestrowane" obie. Czyli jeśli podam w urlu kontroler i akcje to działanie jest takie samo jak, gdy podaję samą akcję. Problemem było to, że próbowałem rejestrować ścieżkę już po uruchomieniu metody run kontrolera frontowego. Mój głupi błąd. Jeszcze raz dziękuję za pomoc, naprowadziła mnie na rozwiązanie, gdyż nie mogłem zarejestrować żadnej ścieżki, więc zacząłem kombinować no i w końcu doszedłem do tego co nie grało.
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.