Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZendFramework][Zend Framework] Router
Forum PHP.pl > Forum > PHP > Frameworki
zychskater
Co robię źle?
Chcę użyć router'a aby zamienić link http://localhost/sample/index/news/id/666 na http://localhost/news/666

Według tego co znalazłem w dokumentacji i w google powinno działać...i działa, ale dopóki nie próbuję do linku dokoptować zmiennej, wtedy wywala mi informację o braku kontrolera "news", czyli zachowuje się tak jakbym nie definiował routingu

w class Bootstrap extends Zend_Application_Bootstrap_Bootstrap mam:

  1. public function _initRoutes()
  2. {
  3. $frontController = Zend_Controller_Front::getInstance();
  4. $router = $frontController->getRouter();
  5.  
  6. $route = new Zend_Controller_Router_Route_Static (
  7. 'news/:var',
  8. 'module' => 'sample',
  9. 'controller' => 'index',
  10. 'action' => 'news',
  11. 'var' => 1
  12. ));
  13.  
  14. $router->addRoute('news', $route);
  15. }


zmienną odbieram w akcji kontrolera poprzez:

  1. $this->getRequest()->getParam('var');


Nie wiem dokładnie jak powinno w takim przypadku wyglądać tworzenie linków ze zmienną którą chcę przekazać. Defaultowa zmienna var jest przekazywana ( w tym przypadku = 1), ale jak stworzyć link, aby wysyłać swoją zmienną?

próbowałem przez :

$this->baseUrl('news/666'); -> wypluwa błąd kontrolera,
$this->url(array(''var' => 666), 'news'); -> wysyła ze zmienną var = 1

jak powinien wyglądać link w takim przypadku?

Proszę o wyrozumiałość, siedzę nad tym 2 dzień smile.gif


melkorm
Bo używasz routera jak sama nazwa wskazuje STATYCZNEGO ? :]
zychskater
ale ze mnie koń!

ja pier... tongue.gif

Już działa mistrzu!

Dzięki wielkie!
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.