routování domény 3. řádu, problém s překladem do url
- kurtc
- Člen | 1
Zdravím,
mám aplikaci se třemi moduly: Front, Admin a Eshop a potřebuju nastavit
routování následně:
aplikace.cz => FrontModule
aplikcae.cz/admin => AdminModule
<eshop>.aplikace.cz => EshopModule
Subdoménu porovnávám s databází a zobrazím příslušná data.
Routování mám takto:
<?php
$container->router[] = $adminRouter = new RouteList('Admin');
$adminRouter[] = new Route('admin/<presenter>/<action>[/<id>]', 'Default:default');
$container->router[] = $eshopRouter = new RouteList('Eshop');
$eshopRouter[] = new Route('//<eshop>.<domain>.<tld>/<presenter>/<action>[/<id>]', 'Default:default');
$container->router[] = $frontRouter = new RouteList('Front');
$frontRouter[] = new Route('<presenter>/<action>[/<id>]', 'Homepage:default');
?>
Front i Admin fungují správně, problém je s routováním EshopModule.
Zobrazí se mi správně DefaultPresenter, ale nefunguje mi překlad do url:
No route for Eshop:Default:test()
. Zadání adresy přímo http://eshop.e.l/default/test funguje.
Prosím o radu.
- David Matějka
- Moderator | 6445
pro tu masku
'//<eshop>.<domain>.<tld>/<presenter>/<action>[/<id>]'
bys musel do generovani odkazu posilat i parametry domain a tld, tedy
{link Foo:bar eshop=>lorem, domain=>domena, tld=>cz}
mozna ti bude stacit magicky placeholder do masky %domain%
,
ktery se nahradi za aktualni domenu. Maska tedy bude vypadat nasledovne:
//<eshop>.%domain%/<presenter>/<action>[/<id>]
- kastanekdavid
- Člen | 39
David Matějka napsal(a):
pro tu masku
'//<eshop>.<domain>.<tld>/<presenter>/<action>[/<id>]'
bys musel do generovani odkazu posilat i parametry domain a tld, tedy{link Foo:bar eshop=>lorem, domain=>domena, tld=>cz}
mozna ti bude stacit magicky placeholder do masky
%domain%
, ktery se nahradi za aktualni domenu. Maska tedy bude vypadat nasledovne://<eshop>.%domain%/<presenter>/<action>[/<id>]
Davidova odpověď mě navedla na tento článek, kde mi teprve zasvítalo :)