automaticka routa na modul v module
- duskohu
- Člen | 778
Ahoj,
viete mi niekto poradit ako mam urobit routu na modul v module??
Mam toto:
// Setup router using mod_rewrite detection
if (function_exists('apache_get_modules') && in_array('mod_rewrite', apache_get_modules())) {
$container->router[] = new Route('index.php', 'Front:Default:default', Route::ONE_WAY);
$container->router[] = $adminRouter = new RouteList('Admin');
$adminRouter[] = new Route('admin/<presenter>/<action>', 'Default:default');
$container->router[] = $frontRouter = new RouteList('Front');
$frontRouter[] = new Route('<presenter>/<action>[/<id>]', 'Default:default');
} else {
$container->router = new SimpleRouter('Front:Default:default');
}
Ale ja by som chcel nieco taketo:
viete mi poradit ako na to?
Ide vlastne o to aby som vedel do admina alebo front modulu pridavat dalsie
moduli kolko len chcem :-)
Za pomoc dakujem.. :-)
Front/DefaultPresenter:default -->> www.daco.sk [/default/action]
---
Front/Pres1Presenter:default -->> www.daco.sk/pres1presenter [/action]
Front/Pres2Presenter:default -->> www.daco.sk/pres2presenter [/action]
...
Front/Submodul1/DefaultPresenter:default -->> www.daco.sk/submodul1 [/default/action]
---
Front/Submodul1/Pres1Presenter:default -->> www.daco.sk/submodul1/pres1presenter [/action]
Front/Submodul1/Pres2Presenter:default -->> www.daco.sk/submodul1/pres2presenter [/action]
...
Front/Submodul2/DefaultPresenter:default -->> www.daco.sk/submodul2 [/default/action]
---
Front/Submodul2/Pres1Presenter:default -->> www.daco.sk/submodul2/pres1presenter [/action]
Front/Submodul2/Pres2Presenter:default -->> www.daco.sk/submodul2/pres2presenter [/action]
...
---------------------------------------------------------------------------------------------
Admin/DefaultPresenter:default -->> www.daco.sk/admin [/default/action]
---
Admin/Pres1Presenter:default -->> www.daco.sk/admin/pres1presenter [/action]
Admin/Pres2Presenter:default -->> www.daco.sk/admin/pres2presenter [/action]
...
Admin/Submodul1/DefaultPresenter:default -->> www.daco.sk/admin/submodul1 [/default/action]
---
Admin/Submodul1/Pres1Presenter:default -->> www.daco.sk/admin/submodul1/pres1presenter [/action]
Admin/Submodul1/Pres2Presenter:default -->> www.daco.sk/admin/submodul1/pres2presenter [/action]
...
Admin/Submodul2/DefaultPresenter:default -->> www.daco.sk/admin/submodul2 [/default/action]
---
Admin/Submodul2/Pres1Presenter:default -->> www.daco.sk/admin/submodul2/pres1presenter [/action]
Admin/Submodul2/Pres2Presenter:default -->> www.daco.sk/admin/submodul2/pres2presenter [/action]
...
app
-AdminModule
-presenters
-DefaultPresenter
-Pres1Presenter
-Pres2Presenter
-Submodul1Module
-presenters
-DefaultPresenter
-Pres1Presenter
-Pres2Presenter
-Submodul2Module
-presenters
-DefaultPresenter
-Pres1Presenter
-Pres2Presenter
-FrontModule
-presenters
-DefaultPresenter
-Pres1Presenter
-Pres2Presenter
-Submodul1Module
-presenters
-DefaultPresenter
-Pres1Presenter
-Pres2Presenter
-Submodul2Module
-presenters
-DefaultPresenter
-Pres1Presenter
-Pres2Presenter
- JuniorJR
- Člen | 181
Jde o to, že prostě jako název modulu dáš plnou cestu, viz.
např. Admin:Submodul1
$container->router[] = new Route('admin/Submodul1Module/<presenter><action>', array(
'module' => 'Admin:Submodul1', // tady plná cesta k modulu
'presenter' => 'Default',
'action' => 'default',
));
Editoval JuniorJR (2. 5. 2012 22:32)
- duskohu
- Člen | 778
JuniorJR napsal(a):
Jde o to, že prostě jako název modulu dáš plnou cestu, viz. např.
Admin:Submodul1
$container->router[] = new Route('admin/Submodul1Module/<presenter><action>', array( 'module' => 'Admin:Submodul1', // tady plná cesta k modulu 'presenter' => 'Default', 'action' => 'default', ));
Lenze ja by som nechcel definovat stale nejaky Submodul, proste ho tam len hodim a nacita sa samo, ci?
Editoval duskohu (2. 5. 2012 22:50)
- duskohu
- Člen | 778
nanuqcz napsal(a):
JuniorJR: Myslím, že dushoku se ptal, jak takový router nastavit dynamicky (aby nemusel pro každý modul vytvářet vlastní Route/RouteList).
dushoku: Jestli jsem správně pochopil otázku, tak to, pokud vím, v Nette defaultně nejde. Jediná možnost bude napsat si na to vlastní routu.
este ma napadla jedna vec, nedalo by sa to urobit nejako tak, ze by som si routu definoval v neonu daneho modulu, alebo niekde inde?