Module · LNK Conditionnement et minimum
  • PrestaShop

LNK Conditionnement et minimum, la vente par lot et le minimum de commande par groupe client

Vos bouteilles d'huile partent par carton de 6, vos savons par 12, et vos clients pros doivent commander au moins 300 € HT. PrestaShop ne sait faire ni l'un ni l'autre par client. LNK Conditionnement et minimum le fait avec ce que PrestaShop sait déjà faire : le panier, son message de minimum, et le passage de commande qui reste fermé.

  • Version 1.1.1 · PrestaShop 1.7.6 à 8.x
  • Version 1.9.1 · PrestaShop 9
  • PrestaShop 1.7.6 à 9.x
  • PHP 7.1 à 8.4
  • Aucun override

Points clés

  • Conditionnement par produit, par déclinaison ou par catégorie.
  • Quantité arrondie au multiple supérieur : fiche, aperçu rapide, panier.
  • Tunnel de commande fermé à un panier hors conditionnement.
  • « Vendu par 6 » et champ quantité au pas du conditionnement.
  • Nom d'unité facultatif : « Vendu par carton de 6 », prix du carton, « 2 cartons » au panier.
  • Fonctionne avec LNK Tarifs dégressifs : paliers exprimés en cartons.
  • Minimum de commande HT par groupe client, avec le message de PrestaShop.
  • Reste à ajouter affiché dans le panier.
  • Configuration de la boutique jamais modifiée.
  • 0,4 Ko de CSS et 1,1 Ko de JavaScript, seulement sur la fiche et le panier.
  • Multiboutique : conditionnements et minimums par boutique.
  • Français, anglais et arabe (de droite à gauche).
  • PrestaShop 1.7.6 à 9, sans override.

Vendre par 6, par 12

Posez un conditionnement sur un produit, sur une déclinaison, ou sur toute une catégorie. Une quantité saisie est arrondie au multiple supérieur, sur la fiche, dans l'aperçu rapide et dans le panier, et une commande ne peut pas partir avec une quantité hors conditionnement. La fiche indique « Vendu par 6 », et le champ quantité avance de 6 en 6 avec les boutons du thème.

Donnez un nom à l'unité si vous voulez : « Vendu par carton de 6 », « Prix par carton : 53,40 € HT » sur la fiche, « 2 cartons (12 unités) » au panier. Le prix du carton est celui de PrestaShop pour ce client, fois le multiple. Le prix au kilo ou au litre reste le prix unitaire natif de PrestaShop.

Le serveur fait la règle : un ajout qui arrive par un autre chemin (aperçu rapide, liste, autre module) est ramené au conditionnement, et le tunnel de commande ne s'ouvre pas sur un panier hors conditionnement.

Un minimum de commande par groupe client

Un montant HT par groupe : 300 € pour les professionnels, rien pour les particuliers. Tant que le minimum n'est pas atteint, le panier affiche le message de PrestaShop, le passage de commande reste fermé, et une ligne indique ce qu'il reste à ajouter. Les autres groupes gardent le minimum de la boutique. Le module ne modifie pas la configuration de votre boutique.

Rien de compliqué au back-office

Une référence et un conditionnement, ou une catégorie et un conditionnement ; un montant par groupe. L'aperçu montre la mention de la fiche et la ligne du panier avant d'enregistrer.

Léger et rapide

Chiffres mesurés sur le module livré, compressés (zlib, niveau 9) : 0,4 Ko de CSS et 1,1 Ko de JavaScript, chargés seulement sur la fiche produit et le panier. Sans JavaScript, les règles s'appliquent quand même, côté serveur.

Compatibilité PrestaShop 1.7.6, 8 et 9

Deux versions du module, une par génération : la 1.1 pour PrestaShop 1.7.6 à 8.x, la 1.9 pour PrestaShop 9, avec une page de réglages native de chaque back-office, sous Catalogue. Règles vérifiées au banc sur 1.7.6, 8.1 et 9.2. Thèmes Classic et Hummingbird sans réglage. Aucun override, aucun appel externe.

Questions fréquentes

Que se passe-t-il si un client saisit 7 pour un produit vendu par 6 ?

La quantité est arrondie au multiple supérieur : 12. C'est vrai sur la fiche, dans l'aperçu rapide et dans le panier, et le client voit la quantité juste tout de suite. Le champ quantité avance de 6 en 6, et ses boutons aussi.

Un client peut-il commander une quantité hors conditionnement par un autre chemin ?

Non. La règle est appliquée côté serveur, à chaque enregistrement du panier, quel que soit le chemin de l'ajout (fiche, liste, aperçu rapide, autre module). À l'entrée du tunnel, une ligne hors conditionnement est corrigée et le client revient au panier avec un message.

Peut-on poser un conditionnement différent par déclinaison ?

Oui. Le conditionnement d'une déclinaison l'emporte sur celui de son produit. Vous pouvez aussi poser le même conditionnement sur tous les produits d'une catégorie.

Comment fonctionne le minimum par groupe client ?

Vous saisissez un montant HT par groupe. Pour un client de ce groupe, le module utilise le minimum natif de PrestaShop, avec sa valeur, le temps de la page : le panier affiche le message de PrestaShop et le passage de commande reste fermé. Rien n'est écrit dans la configuration de votre boutique ; les autres groupes gardent son minimum.

Le minimum est-il contrôlé au paiement ?

Le module ferme le passage de commande, comme le minimum natif de PrestaShop. Un module de paiement qui créerait une commande sans passer par le tunnel de commande n'est pas couvert, pas plus qu'avec le minimum natif.

Comment le client sait-il ce qu'il lui reste à commander ?

Le panier affiche le message de PrestaShop, et le module ajoute une ligne : « Minimum de commande de votre compte : 300,00 € HT. Encore 120,00 € à ajouter. » Cette ligne peut être masquée.

Peut-on vendre par carton, par palette, par sachet ?

Oui. Donnez un nom à l'unité de vente, avec le conditionnement : la fiche affiche « Vendu par carton de 6 » et « Prix par carton : 53,40 € HT », et le panier « 2 cartons (12 unités) ». Le prix du carton est le multiple fois le prix unitaire que PrestaShop donne à ce client pour cette quantité (prix de groupe et prix dégressif compris) : le module ne calcule aucun prix. Le nom est facultatif ; sans lui, rien ne change.

Et le prix au kilo ou au litre ?

C'est le prix unitaire natif de PrestaShop (Catalogue > Produit > Prix > Prix unitaire), affiché par votre thème. Le module n'y touche pas.

Fonctionne-t-il avec LNK Tarifs dégressifs ?

Oui, sans réglage. Quand un produit a un nom d'unité, Tarifs dégressifs exprime ses paliers dans cette unité : « dès 4 cartons », « 167,52 € HT le carton ». Chaque module marche aussi seul.

Faut-il JavaScript ?

Non pour les règles : l'arrondi et le minimum sont appliqués par le serveur. Le script ne fait que mettre le champ quantité et ses boutons au pas du conditionnement.

Le module ralentit-il ma boutique ?

Non. 0,4 Ko de CSS et 1,1 Ko de JavaScript compressés, chargés seulement sur la fiche produit et le panier.

Fonctionne-t-il en multiboutique ?

Oui. Conditionnements et minimums se règlent boutique par boutique ; une nouvelle boutique reprend ceux de la boutique copiée, et une boutique supprimée emporte les siens.

Que reste-t-il si je désinstalle le module ?

Rien. Le module n'a pas d'override ; la désinstallation retire ses trois tables, ses réglages et son onglet. Le minimum de la boutique n'a jamais été modifié.

Journal des versions

4 versions publiées pour PrestaShop

  1. Version 1.9.1 PrestaShop 9

    Nouveautés

    • Nom de l'unité de vente, facultatif, par produit, par déclinaison ou par catégorie, en français, anglais et arabe : « Vendu par carton de 6 » sur la fiche, avec « Prix par carton : 53,40 € HT » (le multiple fois le prix unitaire que PrestaShop donne au client pour cette quantité, HT ou TTC selon son groupe).
    • Ligne du panier « 2 cartons (12 unités) » ; sans pluriel saisi, « 2 × carton (12 unités) ».
    • Contrat lnk.packaging.unit/1 : Lnk_Packaging::packagingUnit(), lecture publique du multiple et du nom d'unité pour les autres modules (LNK Tarifs dégressifs exprime ses paliers en cartons).

    Corrections

    • Contrat de thème (docs/THEME-CONTRACT.md) : dans le panier, les multiples sont dans l'attribut data-lnk-packaging-steps de .lnk-packaging--cart, en JSON échappé. Le document décrivait encore un script JSON.
  2. Version 1.9.0 PrestaShop 9

    Nouveautés

    • Conditionnements par produit ou par déclinaison (par 6, par 12) : une quantité saisie est arrondie au multiple supérieur, sur la fiche, dans l'aperçu rapide et dans le panier, et une commande ne peut pas partir avec une quantité hors conditionnement.
    • « Vendu par 6 » sur la fiche ; champ quantité et boutons plus/moins du thème au pas du conditionnement.
    • Minimum de commande HT par groupe client : le panier affiche le message de PrestaShop et le passage de commande reste fermé tant qu'il n'est pas atteint ; les autres groupes gardent le minimum de la boutique. Rien n'est écrit dans la configuration de la boutique.
    • Saisie au back-office par référence ou pour toute une catégorie ; minimums par groupe ; aperçu en direct ; sous Catalogue.
    • Contrat de thème lnk.packaging.qty/1 ; multiboutique (données par boutique, copiées à la création d'une boutique) ; français, anglais et arabe.
  3. Version 1.1.1 PrestaShop 1.7.6 à 8.x

    Nouveautés

    • Nom de l'unité de vente, facultatif, par produit, par déclinaison ou par catégorie, en français, anglais et arabe : « Vendu par carton de 6 » sur la fiche, avec « Prix par carton : 53,40 € HT » (le multiple fois le prix unitaire que PrestaShop donne au client pour cette quantité, HT ou TTC selon son groupe).
    • Ligne du panier « 2 cartons (12 unités) » ; sans pluriel saisi, « 2 × carton (12 unités) ».
    • Contrat lnk.packaging.unit/1 : Lnk_Packaging::packagingUnit(), lecture publique du multiple et du nom d'unité pour les autres modules (LNK Tarifs dégressifs exprime ses paliers en cartons).

    Corrections

    • Back-office 1.7.6 à 8.x : les boutons « Poser le conditionnement », « Appliquer à la catégorie », « Retirer » et « Enregistrer les minimums » enregistrent de nouveau (seul le bouton général était pris en compte).
    • Contrat de thème (docs/THEME-CONTRACT.md) : dans le panier, les multiples sont dans l'attribut data-lnk-packaging-steps de .lnk-packaging--cart, en JSON échappé. Le document décrivait encore un script JSON.
Voir la version précédente
  1. Version 1.1.0 PrestaShop 1.7.6 à 8.x

    Nouveautés

    • Conditionnements par produit ou par déclinaison (par 6, par 12) : une quantité saisie est arrondie au multiple supérieur, sur la fiche, dans l'aperçu rapide et dans le panier, et une commande ne peut pas partir avec une quantité hors conditionnement.
    • « Vendu par 6 » sur la fiche ; champ quantité et boutons plus/moins du thème au pas du conditionnement.
    • Minimum de commande HT par groupe client : le panier affiche le message de PrestaShop et le passage de commande reste fermé tant qu'il n'est pas atteint ; les autres groupes gardent le minimum de la boutique. Rien n'est écrit dans la configuration de la boutique.
    • Saisie au back-office par référence ou pour toute une catégorie ; minimums par groupe ; aperçu en direct ; sous Catalogue.
    • Contrat de thème lnk.packaging.qty/1 ; multiboutique (données par boutique, copiées à la création d'une boutique) ; français, anglais et arabe.

Votre panier

Votre panier est vide.