Problém s aplikováním stejné routy na různých stránkách
- JaroslavRamba
- Člen | 20
Zdravím,
mám nastavené routy a pěkně se mi generují friendly url na homepage pro
odkaz na článek. Problém nastavá, když se má odkaz vygenerovat na stránce
výpisu hledání http://blog.akcednes.cz/search/a ,tak už to žádná routa
neodchytí. Díky
$router[] = new Route( 'search/<term>', array(
'presenter' => 'Homepage',
'action' => 'search' ) );
$router[] = new Route( '<category>/<title>', array(
'presenter' => 'Homepage',
'action' => 'article' ) );
$router[] = new Route( '<category>', array(
'presenter' => 'Homepage',
'action' => 'default' ) );
$router[] = new Route( '<presenter>/<action>[/<id>]', 'Homepage:default' );
Editoval JaroslavRamba (19. 8. 2013 23:55)
- Jan Mikeš
- Člen | 771
Mam obavy, ze
$router[] = new Route( '<presenter>/<action>[/<id>]', 'Homepage:default' );
se ti neprovede nikdy, protoze router se k teto route nedostane. postupuje v poli od nejdrive deklarovanych az po pozdejsi a vsechny obecne pozadavky ti pojme routa
$router[] = new Route( '<category>', array(
'presenter' => 'Homepage',
'action' => 'default' ) );
Predstav si odkaz RandomPresenter:default, budes ocekavat neco /random/ to se ale nestane, protoze routa se prelozi jako Presenter->homepage, action->default, category->random
To same pokud by jsi chtel RandomPresenter:RandomAction, tak se ti prelozi do 2. routy – presenter->homepage, action->article, category->random, title->random
Mas routy moc obecne a musis je zkonkretizovat (stejne jako to mas u pripadu search, tam mas search/ napevno, coz je spravne), jinak ti to fungovat nebude.
Edit: Dale bych ti doporucil pouzit filtry, nebo si v DB vytvorit sloupec pro url adresy, odkaz http://blog.akcednes.cz/…ruj-ameri-an- neni uplne ok (pomlcka na konci, vynechana pismenka)
Edit2: vypni si redscreen na produkci, nebo pokud sdilis projekt, da se tam toho spoustu vycist, predejdes tim neprijemnostem
Editoval Lexi (20. 8. 2013 9:16)