Etomite a multijazyčná podpora pre web

Máte problém, hľadáte niečo? Opýtajte sa a poradíme...

Moderátor: Moderators

Užívateľov profilový obrázok
Spade
etoModerator
Príspevky: 171
Dátum registrácie: Po Apr 17, 2006 2:24 pm
Kontaktovať užívateľa:

Etomite a multijazyčná podpora pre web

Príspevok od užívateľa Spade » Ut Jan 29, 2013 12:36 am

Zdravím!

Robím v Etomite jeden webík pre svoj herný portál, no zasekol som sa pri vytváraní multijazyčného webu.

Môj plán je nasledovný:
Na webe budú 3 vlajky - SK, CZ, EN. Na každú vlajku (majú class="flag") zavolám po kliku cez jQuery tento kód:

Kód: Vybrať všetko

$( document ).ready(function() {
 
  $(".flag").click(function( event ) {
	$.cookie('lang', this.id, { expires: 365, path: '/' });
  });
 
});
tým by sa mala v COOKIES nastaviť príslušná hodnota premennej "lang" a to z množiny {sk, cz, en}. Vlajky sú "obalené" ešte ja v <a> linku, takže dôjde aj k refreshu stránky.

V template si potom preberiem COOKIE a overujem či je nastavené. Ak nie je ešte nastavená hodnota cookie pre "lang", prenastavím ju na defaultnú a to je "en". V opačnom prípade nerobím s $_COOKIE["lang"] vôbec nič.

Content vykresľujem cez svoj snippet:

Kód: Vybrať všetko

//  Pouzitie: [[getcontent?alias=home]]
//  Snippet si zisti, aky je nastaveny jazyk a podla toho ziska content dokumentu.

$lang = $_COOKIE['lang'];

$lang_alias = $lang.'_'.$alias;

$tbl = $etomite->dbConfig['dbase'].".".$etomite->dbConfig['table_prefix']."site_content";

$query = 'SELECT content FROM '.$tbl.' WHERE alias="'.$lang_alias.'";'; 
$rs = $etomite->dbQuery($query);
$data = $etomite->fetchRow($rs); 
$content = $data['content'];

return $content;
ktorý volám jednoducho:

Kód: Vybrať všetko

[[get_content?alias=[*alias*]]]
Problém je, že keď si dám:

Kód: Vybrať všetko

return print_r($_COOKIE)
tak mi vždy zostane hodnota COOKIE pre "lang" prázdna.

Je vôbec možné nastaviť COOKIE v Etomite? Nie je tam nejaké prekrytie nejakou inou funkciou...? Som fakt bezradný a neviem čo ďalej...
Ách deti moje zlaté, milujte sa a zložte sa. Nech si zvíratá berú od vás príklad.
Človečina, RND.

Užívateľov profilový obrázok
_rasel^
ETOMITE Admin
ETOMITE Admin
Príspevky: 1122
Dátum registrácie: Ut Sep 20, 2005 1:03 am
Bydlisko: Košice (SR)
Kontaktovať užívateľa:

Re: Etomite a multijazyčná podpora pre web

Príspevok od užívateľa _rasel^ » Ut Jan 29, 2013 10:12 pm

Ahoj, neskúšal som snippet, len si skúsim tipnúť. Pes môže byť zakopaný v tom, že snippet [[get_content?alias=[*alias*]]][/s-code] je uložený v cahce a preto sa zobrazuje len tá verzia dokumentu, ktorá je v cache uložená ako prvá. Skús snippet zapásať takto [!get_content?alias=[*alias*]!] - neuloží sa jeho obsah do cache a bude sa vykonávať dynamicky, malo by to pomôcť.
..:: Etomite CMS → Rulezzz !.!.!. ::..

Užívateľov profilový obrázok
Spade
etoModerator
Príspevky: 171
Dátum registrácie: Po Apr 17, 2006 2:24 pm
Kontaktovať užívateľa:

Re: Etomite a multijazyčná podpora pre web

Príspevok od užívateľa Spade » Št Jan 31, 2013 12:22 am

Je to tak :) Cache bol problém + moja nepozornosť pri kódení :) Keď tak potom uverejním tutorial ako na som to robil, možno to niekoho bude zaujímať.
Ách deti moje zlaté, milujte sa a zložte sa. Nech si zvíratá berú od vás príklad.
Človečina, RND.

Napísať odpoveď