<presenter cities>/<action> na hezkou URL
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- j.salak
- Člen | 42
Zdravím, poměrně triviální situace, ale sem nějak v pasti.
Mám města a v nich různé akce, a potřebuji aby se mi zobrazovala hezka URL, tzn. pokud volám: /ceska-republika/hlavni-mesto-praha/praha/galerie tak potřebuji aby se mi zobrazilo „Cities:galerie $id“ a hezka URL adresa mi zůstala (id najdu podle slugu „/ceska-republika/hlavni-mesto-praha/praha/“ to neni problém). Když zavolám cities/galerie?id=1 tak potřebuju aby mě to přesměrovalo na /ceska-republika/hlavni-mesto-praha/praha/galerie
Jak toto vyřešit?
Díky
- Felix
- Nette Core | 1196
Tohle muzes vyresit pres router. Jak mas nastaveny router?
$router = new Route('...', [
'presenter' => 'Cities',
'action' => 'galerie',
'id' => [
Route::FILTER_IN => function($slug) {
// URL (slug) na ID
},
Route::FILTER_OUT => function ($id) {
// ID na URL (slug)
},
]
]);
Psano z hlavy. Nicmene, Nette by melo samo zajistit
auto-canonicalizaci
.