Rozlišení presenterů při routování?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
ju5tHard
Člen | 14
+
0
-

Ahoj,
poradíte mi prosím, jak mám správně nastavit routy, aby mi směřovali správně?

Mám presentery Kategorie a Subkategorie.

$container->router[] = new NRoute(‚<name>.stranka.cz/<kat_id>‘, ‚Kategorie:view‘);
$container->router[] = new NRoute(‚
<name>.stranka.cz/<subkat_id>/‘, ‚Subkategorie:view‘);

Potřeboval bych, aby mi zjišťoval, k jakému presenteru se má dostat. Nyní mi to vždy hodí do presenteru Kategorie i přesto, že potřebuji do Subkategorie.

Děkuji za pomoc.

Jan Endel
Člen | 1016
+
0
-

Chudák nette nepozná jestli se jedná o id sub nebo kat, nemá jak, buď si udělej ty routy nějak specifické, třebas:

$container->router[] = new NRoute(‚<name>.stranka.cz/podkategorie/<subkat_id>/‘, ‚Subkategorie:view‘);
$container->router[] = new NRoute(‚<name>.stranka.cz/<kat_id>‘, ‚Kategorie:view‘);

nebo se koukni na databázový router slidy, přednáška

Editoval pilec (10. 2. 2012 19:13)

ju5tHard
Člen | 14
+
0
-

A není možné to rozdělit za pomoci parametru? Jelikož mi jde o extetický vzhled URL :(

Aurielle
Člen | 1281
+
0
-

Můžeš na <kat_id> nastavit filtr tak, aby odmítal požadavky, které nepasují. Ale nevím, zda ti to za to stojí.

ju5tHard
Člen | 14
+
0
-

A to funguje prosím jak? Resp. jak se to vytváří?

Aearsis
Člen | 57
+
0
-

Ještě než to uděláš, ujisti se že dokážeš rozlišit id kategorie od subkategorie – pokud máš rozlišený presentery, nemáš to náhodou taky ve dvou tabulkách?