Fonctionnalités

  • Intervient au rendu du champ prix des variations : la ligne apparaît sur la page produit et dans toute vue Views qui affiche ce champ
  • Sur la page produit, la ligne change selon la variation sélectionnée par le client
  • Ici, une réduction est un prix catalogue plus élevé que le prix de la variation ; les promotions Commerce appliquées au panier ne sont pas prises en compte
  • Lignes écrites à la création et à la mise à jour d’une variation, par hook_cron sur tout le catalogue (prix modifiés par import compris) et au rendu d’un prix réduit
  • Onglet « Historique des prix » à côté de Modifier et Variations, protégé par sa propre permission
  • Formulaire de réglages dans Commerce › Configuration › Prix le plus bas ; tags de cache par variation pour que les pages en cache suivent les nouveaux prix
  • Montant formaté dans la devise de la variation ; pourcentage optionnel calculé sur le prix antérieur

Drupal Commerce affiche une réduction quand une variation de produit a un prix catalogue au-dessus de son prix, mais ne conserve aucune trace de ce qu’elle coûtait avant. L’article 6 bis de la directive 98/6/CE, ajouté par la directive « Omnibus » (UE) 2019/2161 et applicable depuis le 28 mai 2022, demande précisément cela : une réduction annoncée doit porter le prix antérieur, le plus bas appliqué sur une période d’au moins 30 jours avant elle. Ce module constitue ce relevé seul dès son activation et rattache le prix antérieur au champ prix de la variation.

Comment il s’intègre à Drupal Commerce

Versions
Drupal 11.3 avec Commerce 3.x (le sous-module Product) et PHP 8.3 ou plus. Le cron doit tourner, via Automated Cron ou un cron système.
Hooks
Des classes de hooks orientées objet réagissent à la création, la mise à jour et la suppression des entités commerce_product_variation, au cron et au prétraitement du champ price, sans surcharge de template.
Où il apparaît
Partout où le champ prix de la variation est rendu, page produit comme listes Views. Un réglage peut le limiter à la page canonique du produit.
Administration de la boutique
La route de réglages /admin/commerce/config/lowest-price demande la permission « administer commerce_product » ; l’onglet d’historique demande « Voir l’historique des prix des produits », à attribuer par rôle.
Données
Une table dédiée avec des prix et des dates, sans donnée personnelle ni service externe. Le cron efface les lignes de plus d’un an, sauf si une réduction en cours en dépend.

Installation

  1. Étape 1

    Téléchargez le zip dans Mon compte › Téléchargements sur ecom-addons.com et décompressez-le pour obtenir le dossier modules/custom/ecom_addons_omnibus_price.

  2. Étape 2

    Activez Lowest Price in 30 Days (Omnibus) dans Étendre, ou lancez drush en ecom_addons_omnibus_price. Le prix actuel de chaque variation est relevé aussitôt.

  3. Étape 3

    Dans Personnes › Droits, accordez Voir l’historique des prix des produits aux rôles qui gèrent le catalogue.

  4. Étape 4

    Vérifiez que le cron passe, puis ajustez les quatre réglages (jours, emplacement, pourcentage, réductions renforcées).

Téléchargez le guide pas à pas (PDF)

Questions fréquentes

J’accorde mes remises avec les promotions Commerce. La ligne s’affichera-t-elle ?

Non. Les promotions s’appliquent au panier, pas sur la page produit : le module ne les traite pas comme des réductions de prix annoncées. Seul compte un prix catalogue plus élevé que le prix.

Mon catalogue est mis à jour par un flux ou une migration. Ces prix sont-ils relevés ?

Oui : en plus des hooks d’enregistrement des variations, le passage quotidien du cron relève le prix de tout le catalogue.

Une variation était déjà réduite à l’activation du module. Que se passe-t-il ?

La ligne reste masquée, faute de prix antérieur ; l’onglet d’historique l’explique. Les variations réduites avant 30 jours d’historique affichent le prix le plus bas connu. Les historiques par groupe de clients et le remplacement du prix barré sont prévus dans une version ultérieure.

Si vous annoncez vos remises en pourcentage, le chiffre optionnel est calculé sur le prix antérieur, conformément à l’arrêt de la Cour de justice de l’UE dans l’affaire C-330/23. Les options nationales applicables à votre boutique restent à vérifier de votre côté ; le module ne fournit pas de conseil juridique.

Historique des versions

  1. Chargement…

Avis

Chargement…

Vous l’avez acheté ? Laissez un avis depuis votre compte.