Сергей Токарев Обновлен 6 лет назад в категории CMS Общий функционал 10
Алекс Бодров Обновлен 7 лет назад в категории CMS Общий функционал 10
Andrey Vas Обновлен 9 лет назад в категории CMS Общий функционал 9
Сергей Никонович Обновлен 2 месяца назад в категории CMS Админ. панель 8
Павел С Обновлен 3 года назад в категории CMS Общий функционал 8
Поло Арт Обновлен 5 лет назад в категории CMS Общий функционал 8
Антон Алексеев Обновлен 6 лет назад в категории CMS Общий функционал 8
Поло Арт Обновлен 5 лет назад в категории CMS Общий функционал 7
Идентификатором языка является двухсимвольное обозначение языка. Например: en,de,ru. Идентификатор языка получается с помощью метода RS::Language::getCurrentLang. Метод возвращает текущий язык системы по следующему правилу:
Если это административная зона:
попытка использовать язык, установленный в cookie
попытка использовать язык браузера
возвращается базовый язык
Если это клиентская часть:
попытка использовать язык, установленный в cookie
попытка использовать язык текущего сайта
возвращается базовый язык
if (\RS\Router\Manager::obj()->isAdminZone()) {
//Если это административная панель
$sysLangs = self::getSystemLanguages();
if ($request->cookie(self::COOKIE_ADMIN_LANG, TYPE_STRING)) {
//Ищем установленный язык в cookie
$current_lang = $request->cookie(self::COOKIE_ADMIN_LANG, TYPE_STRING);
} else {
//Ищем предпочтительный язык у браузера
$accept_langs = explode(',', $request->server('Accept-Language'));
if ($request->cookie(self::COOKIE_CUSTOMER_LANG, TYPE_STRING)) {
//Читаем параметр из cookie
$current_lang = $request->cookie(self::COOKIE_CUSTOMER_LANG, TYPE_STRING);
} else {
$site = \Setup::$INSTALLED ? \RS\Site\Manager::getSite() : null;
$current_lang = ($site) ? $site->language : $request->cookie(self::COOKIE_CUSTOMER_LANG, TYPE_STRING, \Setup::$DEFAULT_LANG);
}
Андрей Масалкин Обновлен 6 лет назад в категории CMS Шаблоны 7
Сергей Токарев Обновлен 9 лет назад в категории CMS Общий функционал 7