routování jazykových verzí na různé domény
- Oggy
- Člen | 306
Jak prosím řešíte jazykové verzy na svých národních doménách?
nějak takto?
a pokud např. na doméně eu má běžet jazyk en?
<?php
$router[] = new Route('wwww.example.<lang {?sk|de}>/<presenter>/<action>/<id>', array(
'lang' => 'cz',
'module' => 'Front',
'presenter' => 'Homepage',
'action' => 'default',
'id' => NULL,
));
?>
děkuju za postrčení
- JakubJarabica
- Gold Partner | 184
Ked vychadzame z jednoduchej routy:
<?php
<presenter>/<action>[/<id>]
?>
…tak k na zaciatok som pred nu doplnil
<?php
//<lang>
?>
aby som riesil absolutne cesty a mal tam parameter lang, do ktoreho sa mi dostala domena a pomocou FILTER TABLE, pripadne FILTER_IN a FILTER_OUT funkcii som si zabezpecil „prekladanie“ domeny…
Robi to to, ze domena ab.sk nastavila lang na SK, domena a-b.cz(vsimni si pomlcky) nastavila lang na CZ… Cize viacmenej lubovolne domeny nastavovali jazyk aplikacie. Lang je persistentny parameter definovany v BasePresenteri aby som sa nemusel starat o jeho prenasanie..
Funguje to skvele, zatial to mam rozbehane len na localhoste s VirtualHosts nasmerovanymi do jednej zlozky s aplikaciou. Problem je vsak s udrzanim prihlasenia uzivatela kvoli cookies, nakolko sa jedna o ine domeny. Ale aj to sa da poriesit :)
Rozhodne by som to neriesil na urovni htaccess, routing je dostatocne flexibilny na to, aby to imho pekne zabezpecil.
P.S.: Aj by som sem napastoval funkcny kod, len som si ho stihol pred dovolenkou prepisat a teraz ho uz zrejme nenajdem :-/
- Oggy
- Člen | 306
JAM3SoN napsal(a):
Ked vychadzame z jednoduchej routy:
<?php <presenter>/<action>[/<id>] ?>
…tak k na zaciatok som pred nu doplnil
<?php //<lang> ?>
aby som riesil absolutne cesty a mal tam parameter lang, do ktoreho sa mi dostala domena a pomocou FILTER TABLE, pripadne FILTER_IN a FILTER_OUT funkcii som si zabezpecil „prekladanie“ domeny…
Robi to to, ze domena ab.sk nastavila lang na SK, domena a-b.cz(vsimni si pomlcky) nastavila lang na CZ… Cize viacmenej lubovolne domeny nastavovali jazyk aplikacie. Lang je persistentny parameter definovany v BasePresenteri aby som sa nemusel starat o jeho prenasanie..
Funguje to skvele, zatial to mam rozbehane len na localhoste s VirtualHosts nasmerovanymi do jednej zlozky s aplikaciou. Problem je vsak s udrzanim prihlasenia uzivatela kvoli cookies, nakolko sa jedna o ine domeny. Ale aj to sa da poriesit :)
Rozhodne by som to neriesil na urovni htaccess, routing je dostatocne flexibilny na to, aby to imho pekne zabezpecil.
P.S.: Aj by som sem napastoval funkcny kod, len som si ho stihol pred dovolenkou prepisat a teraz ho uz zrejme nenajdem :-/
to znamená tolik rout, kolik je jazyků..potažmo domén..
ale v mém případě to bude takto
u jazyků sk, de .. je pro ně doména ..neco.sk neco.de
u en a cz je to doména eu s parametrem lang..
takže bych rád vlastně dvě routy..
- JakubJarabica
- Gold Partner | 184
@Oggy: nie, routa bude jedna, len ta filter table bude obsahovat pary domena → lang. Ola ti dal super riesenie na tvoj jednoduchsi problem :)
- Oggy
- Člen | 306
Ola napsal(a):
//example.<lang de|sk>/… a //example.eu/<lang cs|en>
<?php
$router[] = new Route('//<?www.>neco.<lang sk|de>/<presenter>/<action>/<id>', array(
//'lang' => 'cz',
'module' => 'Front',
'presenter' => 'Homepage',
'action' => 'default',
'id' => NULL,
));
$router[] = new Route('//www.neco.eu/<lang cz|en>/<presenter>/<action>/<id>', array(
//'lang' => 'cz',
'module' => 'Front',
'presenter' => 'Homepage',
'action' => 'default',
'id' => NULL,
));
?>
bohužel mi nefunguje url bez www. ..pokoušel jsem se tam dá foo parametr viz první routa..ale to asi není dobře
Editoval Oggy (24. 6. 2010 9:22)