Jak vyřešit tuto dvojznačnou routu
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- kleinpetr
- Člen | 480
Ahoj,
jak byste řešili tuhle routu ? Nevím jestli na to jdu správně s routama jsem si zatím moc nehrál, díky.
$router[] = new Route('[<lang [a-zA-Z]{2}>/]<presenter=Homepage>/<action=default>[/<detailType>][/<id>]');
$router[] = new Route('[<lang [a-zA-Z]{2}>/]<presenter=Homepage>/<action=default>[/page/<page>]');
Jde o to že url může vypadat takto:
první routa:
www.neco.cz/articles/list/detail/123
www.neco.cz/articles/list/pdf/123
druhá routa:
www.neco.cz/articles/list/page/2
jde o to, že když nyní zavolám
www.neco.cz/articles/list/page/2
tak to přeloží zpětně jako:
$detailType = page
$id = 2
napadlo me jedine mu vymezit detailType = vse krome „page“.
Díky za rady
Editoval kleinpetr (28. 5. 2015 7:48)
- jiri.pudil
- Nette Blogger | 1029
Přehoď pořadí rout. Nette je zpracovává sekvenčně a vezme první, která sedí.