routování a moduly – všechny moduly v jedné routě

- t-lama
- Člen | 3
Zdravím,
potřeboval bych pomoci s routováním – proč nefunguje tato routa?
$router[] = new Route('//[<module>.]web.<lang cz|sk>/<presenter>/<action>[/<id>]', array(
'module' => 'Www',
'presenter' => 'Default',
'action' => 'default',
'id' => NULL
));
Dokud odkazuji v rámci jednoho modulu, je vše v pořádku, ale jakmile chci odkázat do modulu jiného, je to problém (error: No route for…).
Díky předem za odpovědi :-)

- t-lama
- Člen | 3
Aha, to mě nenapadlo. lang je označen jako perzistentní
v BasePresenteru každého modulu.
Upravil jsem odkaz na
<a n:href=":Modul:Default:, $lang">
a fci renderDefault tak, aby přijala parametr lang a funguje
to :-)
Neexistuje nějaká lepší cesta, jak udělat parametr perzistentní i mezi moduly?

- Panda
- Člen | 569
Ta nejčistší: udělat $lang persistentní v
BasePresenteru, ze kterého budou dědit
BasePresentery každého modulu. Jednoduše řečeno: společný
předek všech presenterů ze všech modulů. Nette kontroluje, kde je
persistentní parametr definovaný a pokud mají dva presentery společného
předka se stejným parametrem, tak se předá.