Routovanie submodulu
- Jod
- Člen | 701
Ano, ano, teraz tam mám:
// Admin Routing
$router[] = new Route('admin/<presenter>/<action>/<id>', array(
'module' => 'Admin',
'presenter' => 'News',
'action' => 'default',
'id' => NULL
));
Tak sa mi pridáva submodul za čiarku Users.default.
Chcel som vedieť či sa to dá aj na úrovni submodulov nastavovať aby to šlo dynamicky a nemusel na každý pridávať samostatnú routu.
Napríklad keď si chcem zmeniť separátor, alebo aby sa mi tam nedávalo to default, keďže tam chcem mať zatiaľ len jeden presenter.
Niečo štýlom:
// Admin Routing
$router[] = new Route('admin/<submodule>/<action>/<id>', array(
'module' => 'Admin',
'submodule' => 'News',
'presenter' => 'Default',
'action' => 'default',
'id' => NULL
));
Editoval Jod (11. 1. 2009 0:51)
- deric
- Člen | 93
bylo by možné implementovat něco takovéhoto?
$router[] = new Route('<module admin|front>/<presenter>/<action>/<id>', array(
'module' => 'Foo:<module>',
'presenter' => 'Default',
'action' => 'default',
'id' => NULL
));
Jde mi o to, aby šlo elengantně spojit více rout do jedné. Aktuálně funkční řešení by bylo (co píše dgx):
$router[] = new Route('<module admin>/<presenter>/<action>/<id>', array(
'module' => 'Foo:Admin',
'presenter' => 'Default',
'action' => 'default',
'id' => NULL
));
přilo by mi to pochopitelnější a univerzálnější než psát
třeba subsubmodule
Editoval deric (21. 1. 2009 10:46)
- David Grudl
- Nette Core | 8218
Co využít překladový slovník? 1061-rev-134-prekladovy-slovnik-pro-route
BTW, taky cítím určité mezery v routování s moduly, ale dokonalé
řešení mě zatím nenapadlo. 'module' => 'Foo:<module>'
jsem už dřív zavrhl, nepamatuju si přesně proč, byla tam nějaká
komplikace s generováním URL nebo co.
- phx
- Člen | 651
Pokud chapu dobre tak kdyz v route napisu <module> tak se jakoby ulozi do toho array() za routou pod klic module. Mozna by stacilo misto ulozeni to prohnat jen str_replace (treba pouzit i sprintf a davat tam %1, %2) a zbytek routovani nebude narusen a muze byt stejny ne?
Jen takova myslenka. Neco jako predzpracovani:)