Sdružení rout stejného presenteru

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

Zdravím, mám následující routy (je jich více, toto je jenom výtažek):

$container->router[] = new Route('pro-muze/[stranka-<productsList-vp-page>]', 'Produkty:proMuze');
$container->router[] = new Route('pro-zeny/[stranka-<productsList-vp-page>]', 'Produkty:proZeny');
$container->router[] = new Route('kosmetika/[stranka-<productsList-vp-page>]', 'Produkty:kosmetika');
$container->router[] = new Route('produkty/[stranka-<productsList-vp-page>]', 'Produkty:default');

Dá se to sdružit nějak do jedné routy, např že bych pomocí pole vypsal všechny výrazy které se mohou v action vyskytovat a pak by se automaticky volal muj ProduktyPresenter? Nebo budu muset pro každou action mít router?

h4kuna
Backer | 740
+
0
-

Je to z hlavy…

$container->router[] = new Route('<action produkty|pro-muze|pro-zeny|kosmetika/[stranka-<productsList-vp-page>]', array('presenter' => 'Produkty'));

ten actionDefault si přejmenuj na actionProdukty, nebo to udělat pře překladovou tabulku, ale to bude lepší nemít actionDefault(). Pokud by jsi vyplnil výchozí hodnotu action tak url by byla jen lomítko pro produkty/.

Editoval h4kuna (4. 10. 2012 16:35)

Jan Mikeš
Člen | 771
+
0
-

Diky ti, funguje paradne.

h4kuna
Backer | 740
+
0
-

není zač