automaticka routa na modul v module

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

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
+
0
-

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
+
0
-

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)

nanuqcz
Člen | 822
+
0
-

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.

duskohu
Člen | 778
+
0
-

Supis, asi toto som hladal, dik, mam co studovat :-)

duskohu
Člen | 778
+
0
-

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?