ZOO a správné aliasy
aneb jak donutit zoo nevynechávat českou diakritiku

Možná jste se také setkali s nekorektní tvorbou aliasů v rámci ZOO, tedy s případy, že některé znaky s diakritikou nejsou nahrazeny svým ekvivalentem bez diakrity, ale jsou z aliasu rovnou nekompromisně vypuštěny.
V ZOO má záměnu znaků v aliasu na svědomí soubor administrator/components/com_zoo/helpers/string.php
, ve kterém je definováno, jaké znaky mají být jakými nahrazeny.
public function getTransliteration() { return array( '-' => array('\''), 'a' => array('à', 'á', 'â', 'ã', 'ą', 'å', 'a', 'a'), 'ae' => array('ä', 'æ'), 'c' => array('c', 'c', 'ç', 'č', 'ć'), 'd' => array('d', 'd'), 'e' => array('è', 'é', 'ê', 'ë', 'e', 'ě', 'ę'), 'g' => array('g', 'ğ'), 'i' => array('ì', 'í', 'î', 'ï', 'ı'), 'l' => array('l', 'l', 'l', 'ł'), 'n' => array('ñ', 'n', 'n', 'ń'), 'o' => array('ò', 'ó', 'ô', 'õ', 'ø', 'o', 'ó', 'ó'), 'oe' => array('ö', 'œ'), 'r' => array('r', 'ř'), 's' => array('š', 's', 's', 'ş', 'ś'), 't' => array('t', 't', 't'), 'u' => array('ù', 'ú', 'û', 'u', 'µ'), 'ue' => array('ü'), 'y' => array('ÿ', 'ý'), 'z' => array('ž', 'z', 'z', 'ż', 'ź'), 'th' => array('þ'), 'dh' => array('ð'), 'ss' => array('ß') ); }
Když jsem tento soubor v poslední verzi ZOO kontroloval, byly v seznamu, s výjimkou ť, ď, ň, ů, uvedeny všechny běžné české znaky, a ty mi to také v rámci testování v aliasu bez problémů nahradilo znaky bez diakritiky.
Pokud se tedy setkáte se znakem, který není v aliasech nahrazen, zkontrolujte si, zda je v polích uveden a případně jej doplňte - pak by již mělo vše fungovat, jak má.
Komentáře (2)
marvays
Fenris