routování jazykových verzí na různé domény

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

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í

Oggy
Člen | 306
+
0
-

nebo jak jste to řešili.. používá někdo pro každou jazykovou verzi jinou doménu.. nebo je to lepší řešit na úrovni htaccess?

JakubJarabica
Gold Partner | 184
+
0
-

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

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..

Ola
Člen | 385
+
0
-

//example.<lang de|sk>/… a //example.eu/<lang cs|en>

JakubJarabica
Gold Partner | 184
+
0
-

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

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)

Ola
Člen | 385
+
0
-

Chybí Ti tam prázdná hodnota, tj. <?www.|>. Fungovat by také mohla/měla maska ve tvaru //[www.]neco....... (vol. parametr)

Editoval Ola (24. 6. 2010 10:13)