当前位置:迷你笔记 » 技术 » Prestashop去除URL里的默认语言Code

Prestashop去除URL里的默认语言Code

Prestashop如果有多语言,url里会带上/en/,/fr/的语言code。对应默认语言,可以隐藏。

复制/classes/Tools.php/classes/Link.php/override/classes/Tools.php/override/classes/Link.php里。

/override/classes/Link.php里找到

return Language::getIsoById($idLang) . '/';

替换为:

if (Language::getIsoById($idLang) === 'es') {
return '';
} else {
return Language::getIsoById($idLang) . '/';
}

/override/classes/Tools.php里找到

if (
    ($iso = Tools::getValue('isolang')) &&
    Validate::isLanguageIsoCode($iso) &&
    ($id_lang = (int) Language::getIdByIso($iso))
) {
    $_GET['id_lang'] = $id_lang;
}

替换为:

if (
    ($iso = Tools::getValue('isolang')) &&
    Validate::isLanguageIsoCode($iso) &&
    ($id_lang = (int) Language::getIdByIso($iso))
) {
    $_GET['id_lang'] = $id_lang;
}
else {
    $_GET['id_lang'] = (int) Configuration::get('PS_LANG_DEFAULT');
}
未经允许不得转载:迷你笔记 » Prestashop去除URL里的默认语言Code

相关文章

评论 (0)

3 + 1 =