Андрей Левченко Обновлен 5 лет назад в категории CMS Общий функционал 0
Андрей Левченко Обновлен 4 года назад в категории CMS Общий функционал 0
Поло Арт Обновлен 5 лет назад в категории CMS Общий функционал 8
Максим Буканов Обновлен 5 лет назад в категории CMS Общий функционал 1
Андрей Акулов Обновлен 4 года назад в категории CMS Общий функционал 5
Сергей Токарев Обновлен 5 лет назад в категории CMS Общий функционал 0
Поло Арт Обновлен 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);
}
Андрей Викторов Обновлен 5 лет назад в категории CMS Общий функционал 3
Александр Сафонкин Обновлен 5 лет назад в категории CMS Общий функционал 3
Андрей Жижко Обновлен 5 лет назад в категории CMS Общий функционал 2