PS PrestaShop Intermédiaire

Packs de produits & bundles : documentation

Créer des packs et bundles sur PrestaShop 8 et 9 : composition, quatre modes de prix, affichage sur les fiches produits, comportement au panier et adaptation au thème.

Mis à jour Version du module 1.1.1

Installation

Le module s’installe comme n’importe quel module PrestaShop, par le back-office ou par FTP.

  1. Depuis Modules puis Gestionnaire de modules, cliquez sur Installer un module et déposez le fichier dfpackpro.zip.
  2. Par FTP, décompressez l’archive dans le dossier /modules/ de votre boutique, puis installez DataFirefly – Packs & Bundles depuis le gestionnaire de modules.
  3. Videz le cache dans Paramètres avancés puis Performances.

L’installation crée six tables préfixées ps_dfpackpro, enregistre les hooks nécessaires et ajoute l’onglet Packs & Bundles (DF) dans le menu Catalogue.

Le module n’installe aucun override de classe ni de contrôleur. La désinstallation supprime les tables, les clés de configuration et l’onglet.

Réglages généraux

Le bouton Configurer de la fiche module ouvre les réglages qui s’appliquent à tous les packs.

  • Position du bloc sur la fiche produit : sous le bloc d’achat, en pied de fiche, ou les deux. Le bloc liste les packs contenant le produit consulté.
  • Bloc packs actif : coupe l’affichage cross-sell sans désinstaller. Les pages packs restent accessibles.
  • Nombre maximum de packs affichés : 3 par défaut.
  • Tri des packs : position, date de création, ou aléatoire.
  • Afficher les prix unitaires : détaille le prix de chaque composant sur la page pack.
  • Afficher l’économie : badge et montant économisé, sur le bloc fiche produit et la page pack.
  • Afficher la disponibilité : état de stock du pack, calculé depuis les stocks des composants.
  • Mode panier strict : si le client retire un composant, tout le pack et sa remise sont retirés. Désactivé, le retrait est accepté et la remise conservée sur le reste.
  • Après l’ajout au panier : redirection vers le panier, ou confirmation sur place.
  • Couleur d’accent : couleur des badges, boutons et bordures des blocs du module.

Créer un pack

Ouvrez Catalogue puis Packs & Bundles (DF), et cliquez sur Nouveau pack.

Informations du pack

  • Nom : champ traduit, affiché sur le bloc fiche produit, la page pack et le badge panier.
  • Alias URL : généré automatiquement depuis le nom si vous le laissez vide. Il compose l’adresse de la page pack.
  • Description : texte riche traduit, affiché sur la page pack.
  • Badge : texte court traduit, affiché sur les cartes du bloc cross-sell. Laissez vide pour afficher le pourcentage d’économie.
  • Mode de prix : les quatre modes décrits plus bas. Le formulaire masque les champs inutiles selon le mode choisi.
  • Hériter des promotions existantes : activé, les remises catalogue en cours servent de prix de départ au calcul du pack.
  • Dates de validité : laissez vide pour un pack permanent. Hors période, le pack disparaît du front.
  • Actif : équivalent du bouton d’activation dans la liste.

Composants

Le panneau Composants gère le contenu du pack.

  • Recherche produit : tapez au moins deux caractères. La recherche porte sur le nom, la référence et l’ID. Cliquez sur un résultat pour l’ajouter.
  • Déclinaison : pour un produit à déclinaisons, le sélecteur liste les variantes avec leur prix. La variante choisie devient celle par défaut.
  • Choix de la déclinaison par le client : activé, le client sélectionne sa variante sur la page pack et dans le bloc fiche produit. Désactivé, la variante est imposée.
  • Quantité : nombre d’unités du composant dans le pack. Un pack peut ne contenir qu’un seul produit en quantité, pour une vente par lot.
  • Quantité modifiable : le client peut ajuster la quantité de ce composant sur la page pack.
  • Optionnel : le client peut décocher ce composant, le prix se recalcule.
  • Remise par produit : en pourcentage ou en montant, visible uniquement en mode Remise par produit. Une remise de 100 % rend le composant offert.
  • Ordre : flèches haut et bas pour ordonner l’affichage.

Le simulateur de prix sous le tableau recalcule en direct le prix total, le prix pack et l’économie à chaque modification.

Le bouton Dupliquer de la liste copie un pack complet avec ses composants, pratique pour décliner une même mécanique sur plusieurs gammes.

Les quatre modes de prix

Sans remise

Le pack vend les composants à leur prix courant. Utile pour un pack de pure commodité, ou pour ne mettre en avant que la composition.

Remise globale en pourcentage

Le pourcentage s’applique au prix de chaque composant. Un pack à -15 % remet chaque ligne de 15 %.

Remise par produit

Chaque composant porte sa propre remise, en pourcentage ou en montant. C’est le mode des offres du type machine plus consommable offert : la machine à 0 %, le consommable à 100 %.

Prix fixe

Vous annoncez le prix du pack, TTC dans la devise par défaut. L’écart entre la somme des prix courants et le prix annoncé est réparti proportionnellement sur chaque ligne, en hors taxes. Chaque produit conserve son taux de TVA.

Exemple : un pack à 49 € composé d’un produit A à 40 € TTC et d’un produit B à 30 € TTC. La somme courante fait 70 €, la remise 21 €. A supporte 12 € de remise, B 9 €, proportionnellement à leur poids dans le total. La facture reste exacte même si A est à 20 % de TVA et B à 5,5 %.

Le bloc sur les fiches produits

Chaque produit appartenant à un pack affiche un bloc « Ce produit est aussi disponible en pack ». Chaque carte présente les miniatures des composants, le nom du pack, le prix total barré, le prix pack, le badge d’économie et l’état de stock.

  • Voir le pack ouvre la page pack.
  • Ajouter ajoute directement le pack au panier, dans sa configuration par défaut. Le bouton devient Configurer quand le pack contient des choix à faire : déclinaison libre, composant optionnel ou quantité modifiable.

La position du bloc, le nombre de cartes et leur tri se règlent dans la configuration du module.

La page pack

Chaque pack a sa page à l’adresse /pack/12-mon-alias, avec l’identifiant du pack et l’alias de la langue en cours. La page liste les composants avec leurs sélecteurs de déclinaison, les cases des produits optionnels et les champs de quantité quand ils sont ouverts.

Chaque modification recalcule en Ajax le prix total, le prix pack, l’économie et la disponibilité, sans recharger la page. Le bouton d’ajout envoie la sélection courante au panier.

La disponibilité est calculée depuis les stocks réels : le pack est vendable si chaque composant requis est disponible dans la quantité demandée, en tenant compte des autorisations de commande hors stock de chaque produit.

Le panier

À l’ajout d’un pack, chaque composant devient une vraie ligne de panier, facturée à son prix pack via un prix spécifique limité à ce panier. Aucun produit fantôme n’est créé.

Badge de pack

Chaque ligne appartenant à un pack affiche un badge avec le nom du pack, un lien vers sa page et un bouton Retirer le pack entier. Le retrait supprime toutes les lignes du pack et leurs remises en une action.

Quantités supplémentaires

Le prix pack ne couvre que les quantités du pack. Si le client augmente la quantité d’une ligne, le module applique un prix unitaire moyen pondéré : quantité pack au prix pack, surplus au prix normal.

Exemple : pack de 2 unités à 8 € pour un prix normal de 10 €. Le client passe la ligne à 5 unités. Le prix unitaire devient (2 x 8 + 3 x 10) / 5 = 9,20 €, soit un total de 46 €. La remise reste bornée aux 2 unités du pack.

Mode strict

Activé, la suppression d’un composant retire tout le pack et sa remise. Cela empêche de conserver la remise en rendant une partie du lot. Désactivé, le retrait est accepté et la remise conservée sur les lignes restantes.

Un même produit peut appartenir à plusieurs packs dans le même panier. Chaque pack est suivi séparément et le prix moyen tient compte de l’ensemble.

Commandes et comptabilité

Chaque produit du pack arrive sur sa propre ligne de commande, à son prix pack. Factures, bons de livraison, avoirs et retours partiels fonctionnent nativement, article par article. Vos exports comptables et ERP ne voient que des références réelles de votre catalogue.

Le détail de chaque commande dans le back-office affiche un récapitulatif des packs commandés. La liste des packs affiche un compteur de ventes par pack.

Multi-boutique et multilingue

Chaque pack est associé aux boutiques du contexte de création et peut être géré boutique par boutique. Les champs Nom, Alias URL, Description et Badge sont traduits dans les langues installées. Le front reprend la langue du client, y compris dans l’alias de la page pack.

Adapter l’affichage à votre thème

Trois templates sont surchargeables. Copiez-les depuis /modules/dfpackpro/views/templates/ vers /themes/votre-theme/modules/dfpackpro/views/templates/ en conservant les sous-dossiers.

  • hook/product_packs.tpl : le bloc cross-sell des fiches produits
  • front/pack.tpl : la page pack
  • hook/cart_line_badge.tpl : le badge de pack dans le panier

Le CSS est isolé sous le préfixe dfpackpro et la couleur d’accent est portée par la variable CSS --dfpackpro-accent. Pour un ajustement ponctuel, ciblez les classes depuis la feuille de style de votre thème plutôt que de modifier views/css/front.css, qui serait écrasé à la mise à jour.

Dépannage

Le bloc n’apparaît pas sur la fiche produit

  1. Vérifiez que le pack est actif et que la date du jour est dans la période de validité.
  2. Vérifiez que le produit consulté fait bien partie des composants du pack.
  3. Contrôlez le réglage Bloc packs actif et la position choisie dans la configuration.
  4. Videz le cache Smarty et le cache de votre serveur.

Le pack est affiché indisponible

La disponibilité est le minimum des stocks des composants requis, divisés par leur quantité dans le pack. Un seul composant épuisé sans autorisation de commande hors stock suffit à rendre le pack indisponible. Les composants optionnels décochés ne comptent pas.

Le badge panier apparaît au mauvais endroit

Le badge est rendu dans la colonne des actions par le thème, puis déplacé en JavaScript dans le bloc d’informations du produit. Sur un thème très personnalisé sans les conteneurs standards, le badge reste affiché à sa position d’origine. Surchargez cart_line_badge.tpl pour l’intégrer à votre structure.

Le prix pack s’applique à trop d’unités

Ce cas est couvert par le prix moyen pondéré : vérifiez le prix unitaire affiché sur la ligne, il doit être entre le prix pack et le prix normal dès que la quantité dépasse celle du pack. Si ce n’est pas le cas, videz le cache et modifiez la quantité pour déclencher un recalcul.

La page pack renvoie une 404

Vérifiez que le pack est actif et dans sa période de validité. Après un changement d’alias, l’ancienne adresse redirige en 301 vers la nouvelle tant que l’identifiant du pack est correct.

Désinstallation

La désinstallation supprime les six tables du module, ses clés de configuration et l’onglet du menu Catalogue. Les commandes passées conservent leurs lignes et leurs prix, votre historique comptable n’est pas altéré.

Cette page vous a-t-elle été utile ?

Toujours bloqué ? Contactez le support