Temat: Reverse Routing i URLe paginacji
Witajcie,
znowu mam problem z Routerem. W mojej aplikacji uzytkownicy moga zakladac blogi - domyslnie kazdy blog dostepny jest pod adresem:
sample.com/blog/nazwauzytkownika
Domyslnie pod powyzszym adresem widac wszystkie posty danego uzytkownika (niezaleznie od kategorii). Chcialem, aby przegladanie postow po konkretnej kategorii mialo taki adres:
sample.com/blog/nazwauzytkownika/kategoria/nazwakategorii
wiec dodalem taka regule:
Router::connect(
'/blog/:username/kategoria/:slug',
array('controller' => 'posts', 'action' => 'category_view'),
array(
'pass' => array('username', 'slug'),
'username' => '[0-9a-zA-Z]+',
'slug' => '[a-z0-9]+'
));ponadto w widoku mam cos takiego:
$paginator->options(array('url' => $this->passedArgs)); niemniej URLe paginacji (numerki, poprzednie, nastepne) wygladaja w ten sposob:
www.sample.com/posts/category_view/nazwauzytkownika/nazwakategorii/page:2
zamiast:
www.sample.com/blog/nazwauzytkownika/nazwakategorii/page:2
Wyglada na to ze Paginator Helper nie lapie tej reguly ktora ustawilem, chociaz jesli buduje link do kategorii w widoku przez HTML Helpera to URL jest poprawny:
<? echo $html->link(
'Nazwa kategorii',
array(
'controller' => 'posts',
'action' => 'category_view',
'username' => $nazwauzytkownika,
'slug' => $nazwakategorii
)
); ?>Macie jakies pomysly?
Ostatnio edytowany przez tomay7 (2009-08-03 11:24:23)