Úprava/zkrácení route bez default renderování
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Danny
- Člen | 146
Zdravím,
potřeboval bych poradit ohledně routování, jestli to vůbec jde. Mám URL
ve tvaru
/profil/
a
/profil/default/23
A potřeboval bych nějak nastavit aby se mi default nezobrazovalo, takže při zadání /profil/23 by se automaticky používal presenter profil a renderoval default s parametrem 23
Je to nějak možné? prolezl jsem router dokumentace a nenarazil jsme na to.
Děkuju moc :)
- GEpic
- Člen | 566
Tak to změn na:
$router[] = new Route('profil[/<userId>]', 'Profil:default');
A metodu:
public function renderDefault($userId = null)
{
if ($userId !== null && $user = $this->userModel->get($userId)) {
// TODO: Uživatel nalezen, co dál?
} else {
throw new BadRequestException('Uživatel nenalezen');
...
// Nebo tvoje výchozí zobrazení pokud parametr je null.
}
}
Pokud chceš předejít konfliktům.
Editoval GEpic (27. 8. 2016 14:54)