CODE public static function switchLanguage($context = null) { if(!$context) { $context = Context::getContext(); } // Install call the dispatcher and so the switchLanguage // Stop this method by checking the cookie if(!isset($context->cookie)) { return; } $configuration_id_lang = (int)Configuration::get('PS_LANG_DEFAULT'); if(($iso = Tools::getValue('isolang')) && Validate::isLanguageIsoCode($iso) && ($id_lang = (int)Language::getIdByIso($iso)) ) { $_GET['id_lang'] = $id_lang; } else { $_GET['id_lang'] = $configuration_id_lang; } // Update language only if new id is different from old id // or if default language changed $cookie_id_lang = $context->cookie->id_lang; if((($id_lang = (int)Tools::getValue('id_lang')) && Validate::isUnsignedInt($id_lang) && $cookie_id_lang != (int)$id_lang) || (($id_lang == $configuration_id_lang) && Validate::isUnsignedInt($id_lang) && $id_lang != $cookie_id_lang) ) { $context->cookie->id_lang = $id_lang; $language = new Language($id_lang); if(Validate::isLoadedObject($language) && $language->active && $language->visible ) { $context->language = $language; } $params = $_GET; if(Configuration::get('PS_REWRITING_SETTINGS') || !Language::isMultiLanguageActivated() ) { unset($params['id_lang']); } } }
Este sitio web utiliza cookies para mejorar la experiencia del usuario. Al utilizar nuestro sitio web, acepta el uso de todas las cookies de acuerdo con nuestra Política de cookies. Aprende más