Nechopnost nastavit pozadovane routy pro aplikaci

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

Zdravim. Potreboval bych poradit s cernou magii zvanou routy. V aplikaci mam presenter Publications a ten ma metody renderIndex(year=NULL) a renderDetail(id). Potreboval bych nastavit routu pro publications nasledovne:

<?php
domena.cz/publications 			- zavola metodu [Publications:index]
domena.cz/publications/2011 		- zavola metodu [Publications:index(2011)]
domena.cz/publications/2011/franta 	- zavola metodu [Publications:detail(franta)]
?>

at jsem delal cokoli tak se mi to nepodarilo. Je vubec mozne nastavit pro tato URL jen jednu routu? Da se nejak route rict z ktereho prezenteru ma volat metody? Muze mi to kdyztak nekdo lepe vysvetlit? :) V route mi jde nastavit jenom default presenter:action, coz mi moc nepomuze. Predem mockrat dekuji.

Jan Endel
Člen | 1016
+
0
-

Bude potřeba rout vícero (psáno z hlavy):

$router[] = new Route('publications/<year [0-9]+>/<user>', array(
			'presenter'	=>	'publications',
			'action'	=>	'detail',
	));

$router[] = new Route('publications/<year [0-9]+>', array(
			'presenter'	=>	'publications',
			'action'	=>	'index',
	));