# DF Quantity Tiers — Documentation

> Présentation et prérequis DF Quantity Tiers transforme les remises par quantité natives de PrestaShop en un bloc de vente clair et cliquable. Le module n'introduit aucune nouvelle logique de prix…

- Page: <https://www.datafirefly.com/documentation/df-quantity-tiers/>
- Langue: fr
- Mis à jour le: 2026-10-28
- Autres langues: [en](https://www.datafirefly.com/en/documentation/df-quantity-tiers/index.md), [es](https://www.datafirefly.com/es/documentation/df-quantity-tiers/index.md), [de](https://www.datafirefly.com/de/documentation/df-quantity-tiers/index.md), [it](https://www.datafirefly.com/it/documentation/df-quantity-tiers/index.md), [pl](https://www.datafirefly.com/pl/documentation/df-quantity-tiers/index.md), [pt](https://www.datafirefly.com/pt/documentation/df-quantity-tiers/index.md), [nl](https://www.datafirefly.com/nl/documentation/df-quantity-tiers/index.md)
- Index: <https://www.datafirefly.com/documentation/llms.txt>

## Présentation et prérequis

DF Quantity Tiers transforme les remises par quantité natives de PrestaShop en un bloc de vente clair et cliquable. Le module n'introduit aucune nouvelle logique de prix : il lit les prix spécifiques « à partir de N unités » déjà configurés dans votre catalogue et les met en scène sous forme de cartes ou de tableau, avec un bouton d'ajout au panier pour chaque palier.

- Compatible PrestaShop 8.0 à 9.x : thème Classic et thèmes dérivés, ainsi que le thème Hummingbird de PrestaShop 9.
- PHP 7.4 à 8.3.
- Multiboutique et multilingue : interface traduite en anglais, français, allemand, italien, espagnol, néerlandais, portugais et polonais. Toute autre langue affiche les textes en anglais.
- Aucune surcharge de fichiers : uniquement des hooks natifs.

Les paliers proviennent de **Catalogue > Produit > Prix > Prix spécifiques**, champ « À partir de la quantité ». Si un produit n'a pas de prix spécifiques par quantité, le bloc ne s'affiche pas pour ce produit.

![Prix spécifiques par quantité (à partir de 5, 10, 25 et 50 unités) saisis sur la fiche produit PrestaShop, lus par DF Quantity Tiers](https://www.datafirefly.com/wp-content/uploads/2026/10/prix-specifiques-par-quantite-fiche-produit-prestashop-dfquantitytiers-fr.webp)

Les paliers proviennent des prix spécifiques « À partir de N unités » de la fiche produit.

## Installation

Installez le module comme n'importe quel module PrestaShop :

1. Téléchargez l'archive `dfquantitytiers-1.2.2.zip` depuis votre compte client.
2. Dans le back-office, allez dans **Modules > Gestionnaire de modules**.
3. Cliquez sur **Installer un module** et déposez l'archive.
4. Une fois installé, cliquez sur **Configurer**.

À l'installation, le module enregistre ses hooks, crée sa table de statistiques et pré-remplit un titre de bloc traduit dans chaque langue de la boutique. Vos prix dégressifs existants s'affichent immédiatement sur les fiches produit concernées.

## Mise à jour

La mise à jour s'effectue normalement depuis le Gestionnaire de modules, en déposant la nouvelle archive par-dessus l'ancienne version. Votre configuration existante est conservée.

- **Depuis la 1.0.0** : le script d'upgrade intégré crée la table de statistiques, enregistre le hook de page panier et applique les valeurs par défaut des options apparues en 1.1.0.
- **Depuis la 1.1.x ou la 1.2.x** : aucune migration n'est nécessaire.

Depuis la 1.2.2, le JavaScript et la feuille de style du module sont chargés avec une URL versionnée : après une mise à jour, un CDN comme Cloudflare ou le cache du navigateur ne peuvent plus servir l'ancienne version des fichiers.

Après la mise à jour, videz le cache dans **Paramètres avancés > Performances**. Sans cette étape, PrestaShop peut continuer à servir les anciens templates et les anciens textes (par exemple des libellés en français sur une boutique italienne).

## Configuration générale

La page de configuration regroupe l'ensemble des réglages d'affichage :

- **Titre du bloc** : texte affiché au-dessus des paliers, traduisible par langue. Laissez-le vide pour masquer complètement le titre.
- **Disposition** : « Cartes » (recommandé, une carte par palier) ou « Tableau compact » (une ligne par palier).
- **Position sur la fiche produit** : sous le bloc d'achat (hook `displayProductAdditionalInfo`, par défaut) ou directement sous le prix (hook `displayProductPriceBlock`).
- **Couleur d'accent** : appliquée au palier « Meilleure offre », aux badges et aux boutons.
- **Affichage de l'économie** : en pourcentage (« −10% »), en montant économisé par unité (« Vous économisez 0,78 € / unité »), ou les deux.
- **Afficher le prix total du palier** : ajoute le total pour exactement la quantité du palier, libellé « Total pour 6 unités : 42,12 € ». Désactivé par défaut.
- **Afficher le palier « à l'unité »** : affiche le prix de base comme premier palier de comparaison.

L'économie est exprimée par unité pour rester juste quelle que soit la quantité commandée : un client qui prend 7 pièces sur un palier « 6+ » économise bien 0,78 € sur chaque pièce. Le prix total, lui, n'est valable que pour la quantité exacte du palier ; c'est pourquoi il est désactivé par défaut.

Le palier offrant le prix unitaire le plus bas reçoit automatiquement le badge « Meilleure offre » (uniquement lorsqu'il y a au moins deux paliers de remise). Quand le client modifie la quantité, la carte correspondant à son choix est surlignée en temps réel.

![Configuration du module DF Quantity Tiers dans PrestaShop : statistiques de clics par palier, disposition, couleur, affichage des économies et libellés de conditionnement](https://www.datafirefly.com/wp-content/uploads/2026/10/configuration-prix-degressifs-statistiques-clics-prestashop-dfquantitytiers-fr.webp)

La page de configuration : statistiques de clics des 30 derniers jours et réglages d'affichage.

![Paliers de prix dégressifs en cartes sur la fiche produit : prix unitaire, remise, conditionnement et badge Meilleure offre](https://www.datafirefly.com/wp-content/uploads/2026/10/paliers-prix-degressifs-cartes-fiche-produit-prestashop-dfquantitytiers-fr.webp)

Disposition en cartes : prix unitaire, remise, libellé de conditionnement et badge « Meilleure offre ».

![Disposition en tableau compact sur un produit avec déclinaisons, avec économie par unité et total du palier](https://www.datafirefly.com/wp-content/uploads/2026/10/tableau-compact-prix-quantite-declinaison-prestashop-dfquantitytiers-fr.webp)

Disposition « Tableau compact » sur un produit à déclinaisons, avec économie par unité et total du palier.

## Mode fiscal (B2B)

Le mode fiscal détermine si les prix des paliers sont affichés hors taxes ou toutes taxes comprises :

- **Automatique** : suit le réglage d'affichage du groupe client courant (comportement standard PrestaShop).
- **Forcer HT** : affiche systématiquement les prix hors taxes, avec la mention « HT » à côté de chaque prix unitaire. Idéal pour une boutique professionnelle.
- **Forcer TTC** : affiche systématiquement les prix toutes taxes comprises, avec la mention « TTC ».

Le mode choisi s'applique à la fois aux cartes de la fiche produit, au bloc de relance du panier et aux données structurées. La mention est traduite dans la langue du visiteur (par exemple « IVA escl. » en italien, « zzgl. MwSt. » en allemand).

## Libellés de conditionnement

Vous pouvez associer un libellé métier à chaque quantité, par exemple « carton » ou « palette ». Dans le champ **Libellés de conditionnement**, saisissez une association par ligne au format `quantité=libellé` :

```
12=Carton de 12
48=Demi-palette
96=Palette
```

Le libellé s'affiche sous la quantité du palier correspondant. Ce champ est traduisible : renseignez-le dans chaque langue depuis le sélecteur de langue du formulaire.

![Gros plan du bloc « Achetez plus, payez moins » : économie en pourcentage et par unité, bouton Ajouter par palier](https://www.datafirefly.com/wp-content/uploads/2026/10/bloc-achetez-plus-payez-moins-economie-par-unite-prestashop-dfquantitytiers-fr.webp)

Libellés de conditionnement affichés sous la quantité de chaque palier (Carton de 6, Carton de 12, Demi-colis).

## Stock, quantité minimale et visibilité des prix

Le bloc respecte les règles de vente de PrestaShop :

- **Quantité minimale de commande** : si un produit ne se vend que par 6, le bouton du palier « à l'unité » ajoute 6 unités et affiche « Ajouter 6 ».
- **Stock** : lorsque la gestion des stocks est active et que les commandes hors stock sont refusées, les boutons des paliers dont la quantité dépasse le stock disponible sont désactivés avec la mention « Stock insuffisant ».
- **Produit non commandable** (option « Disponible à la vente » décochée, mode catalogue) : les paliers restent affichés à titre informatif, sans bouton d'ajout.
- **Prix masqués** (mode catalogue sans prix, groupe client sans affichage des prix, option « Afficher le prix » décochée) : le bloc n'est pas affiché.

![Ajout direct au panier par palier : le bouton « Ajouter 12 » ajoute 12 unités au prix remisé](https://www.datafirefly.com/wp-content/uploads/2026/10/ajout-panier-direct-par-palier-quantite-prestashop-dfquantitytiers-fr.webp)

Le bouton « Ajouter 12 » règle la quantité et déclenche l'ajout au panier natif du thème.

## Relance vers le palier suivant

Deux mécanismes d'encouragement sont disponibles, activables indépendamment.

### Sur la fiche produit

Une barre de progression affiche un message du type « Ajoutez encore 3 unité(s) pour économiser 15% », recalculé en temps réel selon la quantité saisie. Lorsque le client atteint le palier le plus avantageux, le message bascule sur « Vous bénéficiez de la meilleure remise ! ».

![Le prix change selon la quantité choisie : palier actif surligné et barre de progression vers le palier suivant](https://www.datafirefly.com/wp-content/uploads/2026/10/palier-actif-prix-change-selon-quantite-prestashop-dfquantitytiers-fr.webp)

À 8 unités, le palier 6+ est surligné, le prix passe à 10,71 € et la barre indique le palier suivant.

### Sur la page panier

Pour chaque produit du panier dont un palier supérieur reste atteignable, le module affiche sous le panier un bloc « Ajoutez encore N unité(s) pour payer X € / unité », accompagné d'un bouton d'ajout en un clic. Le bouton utilise le mécanisme natif de mise à jour du panier de PrestaShop, puis rafraîchit la page.

- Si les remises quantité sont calculées par produit (réglage PrestaShop _Remises quantité basées sur : Produits_), les quantités de toutes les déclinaisons du produit sont additionnées, comme le fait PrestaShop pour le prix.
- Aucune suggestion n'est faite si le stock ne permet pas d'atteindre le palier, ni pour les produits offerts.
- Si PrestaShop refuse l'ajout (stock, quantité maximale…), le message d'erreur s'affiche directement dans le bloc.

![Incitation sur la page panier : « Ajoutez encore N unités » avec bouton +N en un clic pour atteindre le palier suivant](https://www.datafirefly.com/wp-content/uploads/2026/10/incitation-panier-palier-superieur-panier-moyen-prestashop-dfquantitytiers-fr.webp)

Sous le panier, le module propose d'atteindre le palier suivant avec un bouton +N en un clic.

## Données structurées (JSON-LD)

Lorsque l'option est activée, le module ajoute sur la fiche produit un balisage JSON-LD `Product` avec une offre `Offer` dont le champ `priceSpecification` liste un `UnitPriceSpecification` par palier, avec sa quantité minimale éligible (`eligibleQuantity`) et l'indication TTC/HT. C'est la forme recommandée pour des prix dégressifs proposés par un même vendeur. Le balisage inclut aussi la disponibilité, l'image principale et la référence (SKU).

Si votre thème ou un autre module SEO génère déjà un balisage `Product` / `Offer` complet pour vos produits, désactivez cette option afin d'éviter un balisage en double signalé dans la Search Console.

## Statistiques de clics par palier

Quand l'option est activée, chaque clic sur un bouton d'ajout par palier est enregistré de façon anonyme : produit, déclinaison, quantité et remise du palier cliqué. Aucune donnée personnelle ni cookie n'est utilisé, ce qui rend la fonction conforme au RGPD.

Le palier est revérifié côté serveur et la remise recalculée à partir de vos prix réels : les données ne peuvent pas être faussées par des requêtes forgées. Les clics de plus d'un an sont purgés automatiquement pour garder la table légère.

La page de configuration affiche un tableau de bord des 30 derniers jours : nombre total de clics et top des combinaisons produit / palier / remise les plus cliquées. Ces données vous aident à calibrer vos remises en identifiant les paliers qui déclenchent réellement des ajouts au panier.

## Traductions

Les textes du module sont fournis en anglais, français, allemand, italien, espagnol, néerlandais, portugais et polonais. Ils s'adaptent automatiquement à la langue du visiteur et du back-office. Pour modifier une formulation, utilisez **International > Traductions > Traductions des modules installés** et choisissez _dfquantitytiers_.

Les textes saisis dans la configuration (titre du bloc, libellés de conditionnement) se renseignent langue par langue depuis le sélecteur de langue du formulaire.

## FAQ et dépannage

### Le bloc ne s'affiche pas sur un produit

Vérifiez que le produit possède bien des prix spécifiques avec une quantité de départ supérieure à 1, que ces prix s'appliquent au groupe client, à la devise et au pays courants, et que les prix sont visibles pour ce client (voir « Stock, quantité minimale et visibilité des prix »).

### Les textes s'affichent en français sur une boutique dans une autre langue

Vous utilisez une version antérieure à la 1.2.0, dont les textes n'étaient pas traduits. Installez la dernière version puis videz le cache dans **Paramètres avancés > Performances**.

### Les champs « Titre du bloc » et « Libellés de conditionnement » n'ont pas de zone de saisie

Ce défaut d'affichage du formulaire de configuration est corrigé depuis la 1.2.0. Après la mise à jour, les deux champs apparaissent avec leur sélecteur de langue.

### Le total ou l'économie affichés ne correspondent pas à la quantité commandée

Depuis la 1.2.1, l'économie est affichée par unité et reste juste pour toute quantité du palier. Le prix total n'est valable que pour la quantité exacte du palier : désactivez l'option **Afficher le prix total du palier** si vous ne souhaitez pas l'afficher.

### Le bouton d'ajout ne fonctionne pas avec mon thème

Le module s'appuie sur le bouton d'ajout au panier standard du thème Classic. Sur un thème fortement personnalisé, assurez-vous que le champ de quantité (`name="qty"`) et le bouton d'ajout (`data-button-action="add-to-cart"`) suivent le balisage standard de PrestaShop.

### Le bloc n'apparaît pas dans l'aperçu rapide (quickview)

C'est volontaire : la fenêtre d'aperçu rapide ne charge pas les styles du module. Les paliers s'affichent sur la fiche produit complète.

### Fonctionne-t-il avec les déclinaisons ?

Oui. Les paliers sont recalculés pour chaque combinaison et le bloc se met à jour automatiquement au changement de déclinaison, sans rechargement de page.

### Que se passe-t-il à la désinstallation ?

La désinstallation supprime proprement les hooks, les variables de configuration et la table de statistiques. Aucune donnée résiduelle n'est laissée en base.
