Jump to content

[astuce] Devise en fonction de la langue


Olórin

Recommended Posts

Bonjour à tous,

 

J'ai trouvé cette astuce sur le forum anglais qui va me faciliter grandement les choses (merci à Radu!)

 

Ça marche bien pour "forcer" une devise lors du choix de la langue, mais je souhaite laisser la possibilité au visiteur de choisir une autre devise, hors ça ne fonctionne pas, la devise reste toujours celle indiquée ci-dessous.

 

Merci d'avance si vous pouvez nous dire comment adapter ce point!

 

 

   static public function switchLanguage()
{
	global $cookie;

	if ($id_lang = intval(self::getValue('id_lang')) AND Validate::isUnsignedId($id_lang)) {
		$cookie->id_lang = $id_lang;

		switch($id_lang) {
			case 1: //if lang_id that's changed to is = 1 than...
				$cookie->id_currency = 2;  //change the currency too, the currency that has the id 2
				self::setCurrency();
				break;
			case 2: //and so on ....
				$cookie->id_currency = 1;
				self::setCurrency();
				break;
			case 3:
				$cookie->id_currency = 1;
				self::setCurrency();
				break;
			case 4:
				$cookie->id_currency = 4;
				self::setCurrency();
				break;
		}
	}
}

Link to comment
Share on other sites

  • 3 years later...

Créer un fichier devise.js dans le dossier "js/autoload" de votre thème.

 

On va passer par Jquery pour tout faire : on change la devise en fonction de la langue selectionnée (qui se selectionne toute seule en fonction de la provenance de l'utilisateur OU au choix direct de l'utilisateur) : 

$(window).load(function(){
var lang=$("#languages-block-top .current span").text();
lang=lang.replace("ç","c"); 
lang=lang.toLocaleLowerCase();


// US DOLLAR
if (lang=="english us"){

            if($("#first-currencies .selected a").attr("title")!="Dollar"){
                setCurrency(2);
            }
}
// UK LIVRE STERLING
else if (lang=="english"){
        
        if($("#first-currencies .selected a").attr("title")!="Pound"){
                setCurrency(3);
        }
}

// TOUTE LA ZONE EURO
else{
        
        if($("#first-currencies .selected a").attr("title")!="Euro"){
                setCurrency(1);
        }
}

}); //END OF LOAD

Completer avec autant de elseif que de devise pas en euro.

 

et ça roule sans trop tout casser :)

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...