Parametr s pomlčkou v URL
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Kyle
- Člen | 3
Ahoj, lámu si s tím hlavu už dlouhou dobu a nedaří se mi to vyřešit. Napřed kód routy:
$container->router[] = new Route('<presenter>/<team [^-]+>-<class [a-c]{1}>', array(
'presenter' => 'Tym',
'action' => 'default',
'team' => array(
Route::FILTER_IN => function ($team) use ($container) {
if (is_numeric($team)) {
return $team;
} else {
return $container->createTeamtypes()->where('url', $team)->fetch()->id;
}
},
Route::FILTER_OUT => function ($team) use ($container) {
if (!is_numeric($team)) {
return $team;
} else {
return $container->createTeamtypes()->find($team)->select('url')->fetch()->url;
}
})
));
URL by měla vypadat takto: /tym/nazev-trida/ … což samo o sobě funguje, problém mi nastává, když chci porovnat např. /tym/delsi-nazev-trida/
Jde to vůbec vyřešit? Díky za každou radu
Editoval Kyle (17. 9. 2012 20:59)
- Jan Tvrdík
- Nette guru | 2595
Tohle ti nefunguje? (Zrušil jsem ten regulární výraz z
<team>
.)
new Route('<presenter>/<team>-<class [a-c]{1}>', array(...))