Помогите поправить с Cookie::get
Приветствую!
После обновления движка разработчиками, с PHP7.3 до 7.4, был переписан фреймворк ThinkPHP6. После этого старые модули, которые разработчик выбросил, перестали работать. А я бы хотел их сохранить в использовании. На сайте есть переключение на 3 языка. Перестало работать переключение языков. Код JS, который переключает языки: function change_lang(lang){ if (lang == 'zh-cn') { layer.confirm('您确定把语言切换为中文版?', { btn: ['是', '否'] //按钮 }, function () { $.cookie('ds_home_lang', lang, { path: '/' }); window.location.reload(); }); }else if(lang == 'en-us'){ layer.confirm('Switch language to english?', { btn: ['Yes', 'No'] //按钮 }, function () { $.cookie('ds_home_lang', lang, { path: '/' }); window.location.reload(); }); }else if(lang == 'ru-ru'){ layer.confirm('Переключить язык на русский?', { btn: ['Да', 'Нет'] //按钮 }, function () { $.cookie('ds_home_lang', lang, { path: '/' }); window.location.reload(); }); }else{ layer.alert('Не установлен язык '+lang) } } В файле common_global.php код, который прописывает Cookie выбранного языка: Здесь есть ошибка, которую я не знаю как исправить. if (in_array(think\facade\Cookie::get('ds_home_lang'), array('zh-cn', 'en-us', 'ru-ru'))) { think\facade\Config::set('lang.default_lang', think\facade\Cookie::get('ds_home_lang')); } Функция в файле фреймворка, строка 176 Config.php, которая обрабатывает запрос на запись кукис: public function set(array $config, string $name = null): array { if (!empty($name)) { if (isset($this->config[$name])) { $result = array_merge($this->config[$name], $config); } else { $result = $config; } $this->config[$name] = $result; } else { $result = $this->config = array_merge($this->config, array_change_key_case($config)); } return $result; } Функция в файле фреймворка, файл Facade.php line 96, которая тоже ругается: Здесь как раз есть параметр, который должен быть указан в коде выше, в файле common_global.php, но я не знаю какой он должен быть. public static function __callStatic($method, $params) { return call_user_func_array([static::createFacade(), $method], $params); } Скриншот с ошибкой, после переключения на китайский язык: ![]() Прошу помочь исправить. |
Часовой пояс GMT +3, время: 07:42. |