Para hacer esto debes de seguir los siguientes pasos:
1- Hay que tocar el archivo classes/Link.php (line 643)
reemplazar esto:
return Language::getIsoById($id_lang).'/';
Por esto:
if (Configuration::get('PS_LANG_DEFAULT') == $id_lang) {
return '';
}else{
return Language::getIsoById($id_lang).'/';
}
2- Luego nos vamos a classes/Tools.php (line 396)
reemplazar esto:
if (($iso = Tools::getValue('isolang')) && Validate::isLanguageIsoCode($iso) && ($id_lang = (int)Language::getIdByIso($iso)))
$_GET['id_lang'] = $id_lang;
Por esto:
if ( !( ($iso = Tools::getValue('isolang')) && Validate::isLanguageIsoCode($iso) && ($id_lang = (int)Language::getIdByIso($iso)) ) ){
$_GET['id_lang'] = Configuration::get('PS_LANG_DEFAULT');
}else{
$_GET['id_lang'] = $id_lang;
}
Con solo esto funciona, pero tenemos que tener muy en cuenta que cuando querramos actualizar el Prestashop a una versión reciente estos cambios los perderemos con lo cual tendremos que volver a realizarlos. Para evitar eso y para hacer de tu código en Prestashop más profesional y programaticamente organizado debes de usar los override de Prestashop, para eso o bien si en la carpeta override/classes ya existen esos ficheros debes de agregar la función entera en la cual estamos realizando los cambios , y si no existe crear el fichero correspondiente agregando esas funciones con los cambios descriptos ya introducidos.
Si sabes inglés tambien puedes consultar este hilo: https://www.prestashop.com/forums/topic/426933-solveddelete-language-iso-from-link/
Además somos especialistas en..
Somos especialistas en webs tipo:
Servicios adicionales alojamiento: