Nefunkční převod titulku na alias v Joomla!
- 9. Březen 2009
- Publikováno v Joomla! . Redakční systémy
- Napište komentář
Při vkládání nového článku do redakčního systému Joomla! se zadává mimo jiné titulek a alias. Pro líné lidi se Joomla! snaží alias vytvořit právě ze zadaného titulku. Jenže tady naráží na diakritiku, se kterou si neumí poradit (minimálně do verze 1.5.9). Například článek s názvem "Žluťoučký kůň pěl ďábelské ódy" převede na alias "luouky-k-pl-abelske-ody". Alias se používá v URL a tak tu máme problém se SEO.
Vyřešil jsem to úpravou funkce transliterate v souboru "/libraries/joomla/language/language.php" Funkce bude vypadat následovně:
Nevim tedy jak vypada puvodni fce (a Joomlu kvuli tomu stahovat nebudu), ale na iconv trochu pozor. V situaci, kdy je implementovana pomoci glibc, je treba nastavit spravne locale, konkretne LC_CTYPE, na neco jineho nez defaultni C.
viz kratky skriptik
hmm a skript je pryc :-/
Zkusim jeste jednou
echo setlocale(LC_CTYPE,0).'-';echo iconv('utf-8','ASCII//TRANSLIT','příliž žluťoučký kůň pěl ódy').PHP_EOL;
echo setlocale(LC_CTYPE,'cs_CZ.UTF-8').'-';
echo iconv('utf-8','ASCII//TRANSLIT','příliž žluťoučký kůň pěl ódy');
Díky za komentář. Spoléhal jsme na to, že nastavení locale je v Joomla! vyřešené, ale po podrobnějším ohledání dokumentace jsem zjístil, že není. Funkci jsem v článku opravil.
Díky za návod, hodně pomohl. A pokud se týká poznámky o "líných lidech" mějte na paměti, že při tvorbě článku z frontendu nemá uživatel vůbec možnost alias editovat, toto pole se ani nezobrazí a je při ukládání článku automaticky naplněno právě nadpisem článku. Editovat tuto hodnotu jde pak pouze v administračním rozhraní, kam není zdrávo uživatele pouštět.