Показать сообщение отдельно
Старый 28.08.2014, 17:12   #1
AbadoHHa
Новенький
 
Регистрация: 28.08.2014
Сообщений: 4
По умолчанию Вывод языка в зависимости от страны.

Добрый день, возникла необходимость доработать старый сайт, как оказалось он написан на typo3. Необходимо было сделать перевод его на второй язык - английский. По отличным гайдам с этого форума и блогу Гиркало - удалось установить второй язык и меню для переключения.
Вторым этапом должна была стать привязка вывода языка к IP, те если Россия - язык русский, если нет то английский. И вот тут возник затык.
Нашел расширение "GeoIP Libraries" с его помощью можно сваять пхп скрипт
Код:
 <?php
require_once(t3lib_extMgm::extPath('ml_geoip').'class.tx_mlgeoip.php');
class user_tools {
       function isEnglishVersion(){
$ip_address = $_SERVER['REMOTE_ADDR'];
$my_geoip = t3lib_div::makeInstance('tx_mlgeoip');
$gi_country_name = $my_geoip->getCountryNameByAddress($ip_address);
if (($gi_country_name==='Russia')||($gi_country_name==='Ukraine')){
return 0;
}
return 1; }}?>
подключается он, вроде бы
Код:
includeLibs.tools = fileadmin/user_funcs/tools.php
lib.isEnglishVersion = USER
lib.isEnglishVersion {
  userFunc = user_tools->isEnglishVersion
}
А вот как изменить параметр L, чтобы он менялся не переключением флага в меню выбора языка, а этим скриптом, я так и не врубился. Пытался сделать через условия, чтоб config.sys_language_uid равнялось 1 (русский), если функция из скрипта 0, но видимо что-то не так делаю или потом в lib.langmenu переопределяется. И чтоб при этом меню сохранило возможность переключать языки. Если-кто то сталкивался с такой проблемой или же лучше разбирается в скрипте (манул читал про сравнение), буду благодарен за помощь.
AbadoHHa вне форума   Ответить с цитированием