Jump to content

Recommended Posts

Bonjour,

J'ai un module qui permet d'acheter des multiples de la quantité minimale.

J'aimerai faire des modifs sur le count à droite de l'icone du panier pour qu'il affiche le nombre de multiples plutôt que la quantité totale. (j'ai déjà contacté les développeurs du module mais ils m'ont répondu que cela nécessite un développement scpécifique)

J'ai trouvé que ça correspondait au fichier /www/themes/classic/modules/ps_shoppingcart/ps_shoppingcart.tpl pour la structure

Mais je ne sais pas ou je dois aller pour faire des modifications sur les fonctions en js pour cet élément en particulier. Est-ce que quelqu'un pourrait m'indiquer dans quel fichier je dois chercher?

La version de prestashop est la 1.7.5.1.

Edited by BenjiDeLaJungle (see edit history)

Share this post


Link to post
Share on other sites

J'ai ajouté ça dans le custom.js du thème:

function counting(){/*fonctionpour afficher le nombre de sous colisage plutôt que la quantité totale dans la page panierau niveau du nombre d'articles*/
	var a =document.getElementsByClassName("label js-subtotal");
	a[0].innerHTML=""
	var b=document.getElementsByClassName("form-control oleafoq_multiple_input")/*correspond à la case qui permet de modifier la quantité dans la page panier*/
	Array.from(b).forEach(function(element) {
        a[0].innerHTML=Number(a[0].innerHTML)+Number(element.value)
    })
    a[0].innerHTML+= " articles"

};

function counting2(){/*fonctionpour afficher le nombre de sous colisage à coté de l'icone panier*/
	var c =document.getElementsByClassName("cart-products-count");
	c[0].innerHTML=""
	var d=document.getElementsByClassName("form-control oleafoq_multiple_input")
	Array.from(d).forEach(function(element) {
        c[0].innerHTML=Number(c[0].innerHTML)+Number(element.value)
    })
    c[0].innerHTML= "(" + c[0].innerHTML + ")"
	
};

function counting4() {/*ajoute des listener pour modifier les chiffres si la quantité d'un article est modifié*/
	var f=document.getElementsByClassName("input-group bootstrap-touchspin oleafoq_touchspin")
	Array.from(f).forEach(function(element) {
	    element.addEventListener("change", function(){
	    	counting()
	    	counting2()
	  	});
	})
}

window.addEventListener("DOMContentLoaded", function(){
    counting()
    counting2()
    counting4()
  });

Quand je suis sur la page panier, ça fonctionne, mais pas sur les autres pages pour l’icône panier. Et dès que je modifie une quantité dans la page panier ça la modifie, puis au bout de 2s ça écrase ma valeur avec la quantité totale que ce soit à coté de l’icône panier, ou au niveau du nombres d'articles

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