pierrot-01 Posted November 1, 2011 Share Posted November 1, 2011 Bonjour, Je me trouve confronté à un problème lié aux quantités de produits qu'un client peut commander. La boutique propose des vins divers, j'indique sur chaque page produit que le client est invité à faire attention à la quantité de bouteilles qu'il commande, de sorte que ce soit toujours 1, 2, ou 3, ou un multiple de 6 ensuite. En revanche, rien n'empêche réellement le visiteur de prendre 17 bouteilles (par exemple). Et ça devient un casse tête pour le conditionnement, les cartons étant normalisés voir préemballés par le caviste. D'où la question : - est-il possible, lors de la validation du panier, d'interdire certaines quantités, autrement dit toutes celles qui ne sont pas les multiples prédéfinis ? ou - est-il possible de faire un contrôle sur la quantité de bouteilles de sorte que si la quantité est supérieure à 3, il faut que ce soit un multiple de 6 (résultat de la division par 6 = entier par exemple) ? Grand merci à ceux ou celles qui pourront éclairer ma lanterne. Pierre Link to comment Share on other sites More sharing options...
Optim'Informatique Posted November 2, 2011 Share Posted November 2, 2011 Bonjour, Il faut modifier le code de Prestashop, mais cela me semble jouable de contrôler les quantités lors de la validation du panier. Vous vous y connaissez en développement ? Link to comment Share on other sites More sharing options...
nodar44 Posted November 3, 2011 Share Posted November 3, 2011 Bonjour, avez-vous trouvé une solution à votre problème ? Je cherche aussi une réponse ici : http://www.prestashop.com/forums/topic/134807-gerer-ses-declinaisons-de-produit-au-poids/ Si quelqu'un à une piste, je suis preneur. Merci. Link to comment Share on other sites More sharing options...
Sbizz Posted November 3, 2011 Share Posted November 3, 2011 Bonjour, Dans CartController.php vous avez la fonction preProcess() qui traite les données. À la ligne 108 de mon fichier, vous avez cette ligne : $qty = (int)(abs(Tools::getValue('qty', 1))); Et juste en dessous, les vérifications. Il faut ensuite définir vos quantités. Admettons : - vous avez 3 types de carton : -- A pouvant contenir 3 bouteilles, -- B pouvant contenir 7 bouteilles, -- C pouvant contenir 10 bouteilles. Il vous suffit d'utiliser les maths pour vos conditions : if (A % 3 != 0 OR B % 7 != 0 OR C != % 10 != 0) die ('error'); else die ('success'); PS: petit cours sur les modulos : ils affichent les restes d'une division : 10 % 7 = 3. 7 % 7 = 0. 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