Etomite a multijazyčná podpora pre web
Napísané: 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:
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:
ktorý volám jednoducho:
Problém je, že keď si dám:
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...
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: '/' });
});
});
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;
Kód: Vybrať všetko
[[get_content?alias=[*alias*]]]
Kód: Vybrať všetko
return print_r($_COOKIE)
Je vôbec možné nastaviť COOKIE v Etomite? Nie je tam nejaké prekrytie nejakou inou funkciou...? Som fakt bezradný a neviem čo ďalej...