Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZendFramework] Url Helper, router
Forum PHP.pl > Forum > PHP > Frameworki
grOm
Witam mam problem z helperem Url mianowicie nie działa on z costumowym routerem :
  1.  
  2. $router->addRoute('kategoria',
  3. new Zend_Controller_Router_Route('sklep/kategoria/:id/:title',
  4. array('module' => 'sklep',
  5. 'controller' => 'kategoria',
  6. 'action' => 'index')));
  7.  
  8. $router->addRoute('kategoria_paginated',
  9. new Zend_Controller_Router_Route('sklep/kategoria/:id/:title/:page',
  10. array('module' => 'sklep',
  11. 'controller' => 'kategoria',
  12. 'action' => 'index')));


przy próbie użycia
  1. echo $this->url(array('page' => 2));

będąc w powyzej zdefiniowanym routingu tj. http://127.0.0.1/shoper/www/sklep/kategoria/9/protein wyświetla mi ten sam adres bez dodanej strony i nie wiem dlaczego : /
Najsmieszniejsze ze jak juz wklepie adres przykladowo http://127.0.0.1/shoper/www/sklep/kategoria/9/protein/4 wtedy helper zadziala i zmieni mi urla
mrok
Dzieje się tak ponieważ do wyrenderowania strony http://127.0.0.1/shoper/www/sklep/kategoria/9/protein używany jest router kategoria, a tam żadnego page nie ma. Żeby wymusić użycie konkretnego routera użyj
Cytat
echo $this->url(array('page' => 2), 'nazwa_konkretnego_routera');


I mała sugestia przepatrz sobie kod Zend_Controller_Router_Route jak są pobierane parametry podczas składania urla, nie wiem jak w tym wypadku, ale w regexowym brana jest pod uwage kolejność zmniennych w tablicy, bez względu na nazwę klucza. Taki feature winksmiley.jpg
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.