Routy pro moduly, submoduly…

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

Zdravím,

rád bych se zeptal vás zkušenějších na následující problém.

Ve své aplikaci jsem se rozhodl pro zabalení jednotlivých částí do modulů. Jedna z těchto částí potom dále obsahuje další submoduly. Zajímalo by mě, jakým způsobem můžu nastavit pro tyto submoduly správné routování.

Mám:

$router[] = new Route('<module>/<presenter>/<action>/<id>', array(
        'module' => 'Main',
	'presenter' => 'MyPresenter',
	'action' => 'default',
	'id' => NULL,
));

Potřeboval bych něco jako:

$router[] = new Route('<module>[/<submodule>]/<presenter>/<action>/<id>', array(
        'module' => 'Main',
	'submodule' => 'Sub',
	'presenter' => 'MyPresenter',
	'action' => 'default',
	'id' => NULL,
));

Vycházím ze základního schématu, nicméně v tuto chvíli nevím, kam zařadit submodul. Zřejmě je třeba použít nějaké klíčové slovo, zná Nette <submodule>? Případně přilepit submodul na modul, ale jak potom naformátovat routu? Navíc bych potřeboval nějakým způsobem ošetřit, že žádný presenter ze submodulu nebude zavolán v „původním“ tvaru routy, tedy bez onoho [/<submodule>].

Při současné konstelaci routeru funguje aplikace správně, akorát URL vypadá zhruba jako:

.../document_root/main/sub.my-presenter/...

zatímco já bych potřeboval

.../document_root/main/sub/my-presenter/...

Věřím, že v tom není nic složitého, jen mi nějak nedochází asi ten princip oddělení modulů a submodulů při routování. Když už se ptám, jak by se dal ještě řešit sub-submodule?

Předem moc díky za všechny reakce a omlouvám se, jestli se to tu už někde řešilo. Hledal jsem, leč nenašel.