PrestaShop peut-il exclure des catégories ou fabricants entiers des remises de règles panier ?
Oui. Les exclusions peuvent être saisies comme ID produit directs, ID catégorie et ID fabricant. Les champs de config admin sont des listes séparées par des virgules, et le résolveur les convertit en une liste finale d’ID produit avant le calcul de remise.
PRODUCTS=12,15
CATEGORIES=3,7
MANUFACTURERS=1,4Avec cette configuration, les produits 12 et 15 sont exclus directement. Le module interroge aussi category_product pour chaque produit assigné aux catégories 3 ou 7, et interroge product pour chaque produit dont id_manufacturer est 1 ou 4. Il fusionne ces ID, supprime les doublons avec array_unique, et met le résultat en cache pour la requête courante.
L’override CartRule demande ensuite au module cette liste de produits résolue et filtre les produits exclus hors du package avant que la remise de règle panier parent soit calculée. En termes marchands : les produits correspondants restent au prix plein, tandis que le reste du panier peut quand même recevoir la remise du bon.
La règle catégorie est basée sur les ID catégorie exacts enregistrés dans CATEGORIES. La requête source lit les lignes depuis category_product où id_category est dans cette liste ; elle ne parcourt pas l’arbre de catégories en PHP. Si une boutique doit exclure aussi toutes les catégories enfants, ces ID de catégories enfants doivent être inclus sauf si les produits sont également assignés directement à la catégorie parente listée.
La règle fabricant est basée sur product.id_manufacturer. Comme pour les produits directs, l’exclusion finale se fait par id_product, donc toutes les déclinaisons d’un produit correspondant sont traitées comme exclues. Les entrées texte invalides sont effectivement réduites par conversion entière ; les valeurs vides et zéro ne contribuent pas d’ID produit utiles.
Category source: ps_category_product.id_category IN saved category IDs
Manufacturer source: ps_product.id_manufacturer IN saved manufacturer IDs
Final discount filter: id_product not in resolved exclusion list
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.