Главная arrow CMS arrow Koobi 5.x Fixies arrow Корректная работа с языковыми переменными
Корректная работа с языковыми переменными Печать E-mail
Также, несмотря на то, что 5.8 уже практически поддерживает мультиязычность, но разработчики совсем упустили разделение управления языковыми переменными. То есть, у них по прежнему, если добавляешь переменную в один язык, то во второй её добавлять не даёт, так как проверка на существование данной переменной производится без учёта языка. То же и в удалении. Если выберешь какую-то переменную языковую на удаление в одном языке, он удалит её в обоих, что не есть правильно. Изменить нужно следующее:
 
в файлах /admin/languages.php и /admin/languages_admin.php в переборе switch($_REQUEST['action']) в случаях case "deleteitem" : и case "newitem" : в запросе к БД нужно добавить условие выбора языка из нескольких существующих.
 
Дефолтный запрос на удаление языковой переменной:
$sql = $db->Query("DELETE FROM ".PREFIX."_languages WHERE name='$_REQUEST[id]'");
 
Исправленный: $sql = $db->Query("DELETE FROM ".PREFIX."_languages WHERE name='$_REQUEST[id]' AND code='$_REQUEST[language]'");
 
Дефолтный запрос проверки на существование языковой переменной при добавлении новой:
$sql = $db->Query("SELECT name  FROM ".PREFIX."_languages WHERE name='$vari'");
 
Исправленный:
$sql = $db->Query("SELECT name  FROM ".PREFIX."_languages WHERE name='$vari' AND code='$_REQUEST[language]'");
 
После этих изменений, всё будет работать корректно для каждого языка в отдельности.
 
« Пред.   След. »

Администрация






Забыли пароль?

Кто на сайте?

Сейчас на сайте находятся:
21 гостей

Статистика



Рекомендуем

Экспорт новостей

Реклама