Поло Арт Обновлен 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);
}
Сергей Токарев Обновлен 9 лет назад в категории CMS Общий функционал 7
Алекс Бодров Обновлен 6 лет назад в категории CMS Общий функционал 6
Павел С Обновлен 5 лет назад в категории CMS Общий функционал 6
Сергей Токарев Обновлен 8 лет назад в категории CMS Общий функционал 6
Дмитрий Петухов Обновлен 8 лет назад в категории CMS Общий функционал 6
Anton F Обновлен 3 года назад в категории CMS Общий функционал 5
\Shop\Model\UserStatusApi::getStatusesIdByType()
.->where(['site_id' => SiteManager::getSiteId()])
, возможность задать сайт(ы) не меняя SiteManager::$site
отсутствует. Это автоматически делает подобные методы бесполезными при запуске в консольном режимеСергей Филоненко Обновлен 3 года назад в категории CMS Общий функционал 5