Routování submoduly a název role v url
- spiider
- Člen | 162
Ahoj mám stejné routy jako je v example v sandboxu při více modulech a chtěl bych mít po přihlášení uživatele url www.neco.cz/nazevJehoRole což by mělo směrovat do modulu FrontModule/UsersModule. Teď mám url ve tvaru www.neco.cz/users.homepage/
Tady je můj router:
$router[] = new Route('index.php', 'Front:Homepage:default', Route::ONE_WAY);
$router[] = $frontRouter = new RouteList('Front');
$frontRouter[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');
A takovou mam strukturu modulů:
- AdminModule
- FrontModule
- UsersModule
Díky moc, nikde jsem to tady nenašel co by me pomohlo
- spiider
- Člen | 162
Tak jsem to upravil a vytvoril jsem persistentni parametr $role ktery posilam
do adresy a po prihlaseni je to ok…adresu mam www.neco.cz/prodavac, ale
pokud kliknu na dalsi stranku v menu ktera veda napr. na Profile: tak se mi
sice parametr $role prenese, ale uz v nem neni prodavac ale je v nem
users.profile takze vysledna adresa vypada takto:
www.neco.cz/users.profile/?… misto www.neco.cz/…avac/profile
Routy mam ted takto:
$router[] = new Route('index.php', 'Front:Homepage:default', Route::ONE_WAY);
$router[] = $frontRouter = new RouteList('Front');
$frontRouter[] = new Route('<role>/', 'Users:Homepage:default');
$frontRouter[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');
Editoval spiider (13. 7. 2013 15:11)
- Felix
- Nette Core | 1196
No to je jasny, protoze za <role> uz nic nemas.
$router[] = new Route('index.php', 'Front:Homepage:default', Route::ONE_WAY);
$router[] = $frontRouter = new RouteList('Front');
$router[] = $userRouter = new RouteList('Users');
$userRouter [] = new Route('<role>/<presenter>/<action>[/<id>]', 'Homepage:default');
$frontRouter[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');
Byl bych s tim, ale opratrny.
Editoval Felix (14. 7. 2013 9:22)
- David Matějka
- Moderator | 6445
a role musi byt persistentni parametr
Editoval matej21 (14. 7. 2013 12:22)
- spiider
- Člen | 162
Tohle sem tak udelal ale url po prihlaseni je www.neco.cz/users.homepage/?… a do persistent parametru se priradi users.homepage
- David Matějka
- Moderator | 6445
koukni, jestli mas dobre poradi rout, ta s roli musi byt pred tou druhou
- spiider
- Člen | 162
Mam to takhle:
$router = new RouteList();
$router[] = new Route('index.php', 'Front:Homepage:default', Route::ONE_WAY);
$router[] = $frontRouter = new RouteList('Front');
$router[] = $userRouter = new RouteList('Users');
$userRouter [] = new Route('<role>/<presenter>/<action>[/<id>]', 'Homepage:default');
$frontRouter[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');
a ono to do <role> proste dosadi spatnou hodnotu