Kur0 Posted February 23, 2015 Share Posted February 23, 2015 Bonjour, J'ai du créer une fonction qui consiste a avoir au moins 5 article dans son panier pour pourvoir commandé sauf si il y a un pack, car si il y a un pack le client est autoriser a commander, cette fonction a été réaliser en JS.J'ai étudié toute les fonctions qui permettent ce traitement mais je n'ai pas trouvé mon bonheur. Mon besoin est lorsque l'on supprime un article de la commande, la fonction doit ce relancé pour pouvoir soustraire la quantité du produit au total de la commande.Pour plus de détails voici la fonction: function nbProd(action) { total = 0; /*ICI le code de la fonction DELELETE*/ /*Verifie si il y a au moins l'un des pack defini*/ if (document.getElementById('product_11') || document.getElementById('product_12') || document.getElementById('product_13') || document.getElementById('product_14') || document.getElementById('product_15') || document.getElementById('product_16')){ alert("il y a un pack" ); } else{ alert("il n' y a pas de pack"); /*Calcul la quantité de tout les produit*/ result = document.getElementsByClassName("cart_quantity_input"); //alert('atteint la boucle'); for(var i= 0; i < result.length; i++){ //alert('rentre dans la boucle for'); if(result[i].value != null){ //additionne toute les valeurs et ne prend pas en compte les valeur null total =total + parseInt(result[i].value); //alert('calcul terminer'); } } //alert('sortie de la boucle for'); // si l'action est egal a augmente, alors nous prenons le total + 1 if (action == 'augmente'){ total=total +1; } // sinon si l'action est egal a diminue, alors nous prenon le total -1 else if(action == 'diminue'){ total = total - 1; } alert(total); /* si le total des produit est inférieur à 5, alors on cache les adresses les livraison et la methode de paiement*/ if (total < 5){ /* document.getEleentById('opc_account').style.display="none"; //id du bloc adresse qui est caché document.getElementById('opc_delivery_methods').style.display="none"; //id du bloc methode de livraison qui est caché document.getElementById('opc_payment_methods').style.display="none"; */ //id du bloc methode de paiement qui est caché document.getElementById('product_cart_min_hidden').style.display="none"; alert('Vous devez avoir 5 articles minimum pour commander.'); } /* sinon si le total des produit est superieur à 5, alors on affiche les adresses les livraison et la methode de paiement*/ else if(total >= 5){ document.getElementById('product_cart_min_hidden').style.display="block"; } } } Je vous remercie pour l'aide que vous m'apporterez. Cela me permettrait de finir mon projet et de pouvoir le présenter lors d'une épreuve importante de mes examens finaux de mon diplôme.Cordialement,KuroPS: Je travail sous Prestashop 1.6.0.11 Link to comment Share on other sites More sharing options...
YopixelAE Posted February 24, 2015 Share Posted February 24, 2015 Bonjour, Mon besoin est lorsque l'on supprime un article de la commande, la fonction doit ce relancé pour pouvoir soustraire la quantité du produit au total de la commande. function nbProd(action) { total = 0; /*ICI le code de la fonction DELETE*/ - Supprimez la fonction interne delete /* ICI LE CODE... */ de votre function nbProd (Plus les functions sont courtes, mieux c'est.) La function delete d'un article est native, et elle se trouve dans votre ajax-cart.js et summary-cart.js Lorsque le visiteur surprime un article, delete est appelé, et en callback la function refreshCart s’exécute. A la fin du callback vous pouvez appeler à nouveau votre function nbProd. Link to comment Share on other sites More sharing options...
Kur0 Posted February 24, 2015 Author Share Posted February 24, 2015 Bonjour, Je vous remercie de votre aide, j'ai fais les tests ce matin tout est opérationnel, ça me fais un problème en moins. Et grâce a vous j'ai pu apprendre d'avantage de chose sur l'ajax Encore merci pour avoir pris le temps de vous consacré à mon problème, maintenant j'ai toute les clés en main pour pouvoir terminé mon Projet, Merci ! (bien que je l'ai dis plusieurs fois, mais je ne le dirai jamais assez.) En espérant que ce problème va aider d'autre personne et que j'en apprenne plus dans ce forum grâce à vous ^^ . 1 Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now