Routování ve tvaru id-predmet
- stickybit
- Člen | 14
Dobrý den,
jsem začátečník s Nette a mám dotaz k vytváření routy. Chci docílit stejného tvaru URL, jako má toto Nette forum, tzn. domain.cz/id-predmet . Myslel jsem si, že to bude jednoduché, ale nevím jak do URI dostat „predmet“, který je uložený v databázi.
Nyní mně Nette vrací URI ve tvaru prispevek/default/292
a já
chci prosté 292-predmet
.
Jak bych mohl tohoto tvaru URI docílit nebo je to v Nette složité?
Předmět by měl být ošetřen o nahrazení mezer pomlčkami atd. = možná bude nejlepší v tabulce přidat další sloupec speciálně pro URI, kdy bude tvar uložen už ošetřený.
V mém starém PHP kódu, který předělávám pro Nette, to bylo velmi jednoduché, ale tady si s tím nevím rady.
Děkuji
- Darkling
- Člen | 35
Ahoj,
doporučuju se podívat sem https://zlml.cz/…te-prakticky popřípadě přímo do dokumentace https://doc.nette.org/…tion/routing.
- stickybit
- Člen | 14
Ahoj,
škoda, že jsem zapomněl napsat, že už jsem to obojí četl. V uvedených návodech bohužel právě nevidím informaci, kterou hledám = jak do URI dostat kromě id i předmět.
Můj router vypadá takto
<?php
public static function createRouter()
{
$router = new RouteList();
$router[] = new Route('<action>', 'Homepage:default');
$router[] = new Route('<id>-<predmet>', 'Prispevek:default');
$router[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');
return $router;
}
?>
Routa
new Route('<id>-<predmet>', 'Prispevek:default')
je
z nějakého důvodu ignorována, takže se obsah zobrazí jako
prispevek/default/292
a nikoliv jako 292-predmet
.
Díky