Jump to content

Bug sur Module blocklanguage


Go to solution Solved by fourquet,

Recommended Posts

Bonjour à tous,

 

Un bug me résiste sur ce module et je ne trouve pas vraiment la solution.

Le contexte : Je suis en multisite et en version 1.6.0.9

 

Le bug :  sur les URL des  /best-sales/new-products/prices-drop

 

Les URL devraient :

 - pour le domaine co.uk site.co.uk.prices-drop

 - pour le domaine fr site.com/promotions

 - pour le domaine it site.it/reusione

 

et le blocklanguage (qui traduit l'url courante sur les autres domaines) génère sur le le drapeau anglais site.com/prices-drop
au lieu de siteen.co.uk/proces-drop
 
Je vous donnes les URL . Ce sera plus parlant
Vous pouvez voir sur le drapeau anglais l'url
 
Il y a donc une erreur sur l'id_shop à l'évidence. le .tpl appelle link->getLanguageLink 
Mais après je ne vois pas ou est l'erreur
 
Merci à ceux qui s'intéresseront à ce bug
 

Share this post


Link to post
Share on other sites
  • Solution

Pour ceux que ça intéresse, il faut modifier la classe Link. Ajouter le test sur le id_shop (2 lignes )

if (!$id_lang)
$id_lang = (int)Context::getContext()->language->id;
if (!$id_shop)
$id_shop=$this->getIdShopLink($id_lang);

et la fonction retournant le shop en fonction de la langue

public function getIdShopLink($id_lang)
{
return (int)Db::getInstance()->getValue('SELECT `id_shop` FROM `'._DB_PREFIX_.'lang_shop` WHERE `id_lang` = '.(int)$id_lang);
}
  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More