Comment exclure des produits spécifiques des réductions de bons d’achat dans PrestaShop ?
Configurez les ID produit exclus dans le réglage de liste de produits du module, par exemple sous forme de liste séparée par des virgules. L’override retire les produits exclus du package transmis au calcul de règle panier de PrestaShop, donc les remises monétaires sont calculées uniquement sur les produits éligibles.
Excluded product IDs: 42,108,315
Cart: #42 $100 excluded + #77 $50 eligible
Voucher: 20% off products
Before exclusion: 20% of $150 = $30 discount
After exclusion: 20% of $50 = $10 discount; #42 stays at full priceLa même liste d’exclusion peut être combinée avec des exclusions de catégories et de fabricants, car le module fusionne les trois sources en un seul ensemble de produits exclus. Les remises en pourcentage s’appliquent uniquement aux produits éligibles. Les réductions à montant fixe sont proratisées via le package filtré, tandis que la livraison gratuite et le comportement de cadeau sont laissés à la gestion normale des règles panier de PrestaShop.
Le réglage de liste de produits est stocké sous PRODUCTS. Le résolveur lit la valeur séparée par des virgules, convertit chaque entrée avec intval, retire les zéros vides, puis fusionne ces ID avec les ID dérivés des catégories et fabricants. La liste finale est mise en cache pour la requête PHP courante, ce qui évite de répéter les requêtes de catégorie et fabricant pendant le même calcul de panier.
L’override CartRule modifie uniquement les règles avec une réduction monétaire : reduction_percent supérieur à zéro ou reduction_amount supérieur à zéro. Si le module n’est pas activé, si la liste d’exclusion configurée se résout vide, ou si le package de règle panier courant ne contient aucun produit exclu, il délègue au calcul parent de PrestaShop sans changement.
Comme le filtre vérifie id_product, l’exclusion s’applique au produit entier. Si un produit a des déclinaisons, la source ne distingue pas une combinaison d’attributs d’une autre dans cette étape d’exclusion.
Stored setting: PRODUCTS=42,108,315
Resolver output: [42,108,315,...category matches,...manufacturer matches]
Override input: package products
Override output: package products without excluded id_product values
Cette réponse vous a-t-elle été utile ?
Produits associés
Vous avez encore des questions ?
Vous ne trouvez pas ce que vous cherchez ? Envoyez-nous votre question et nous vous répondrons.