PS PrestaShop Débutant

Emballage Cadeau & Message — Guide complet

Installer, configurer et exploiter l'emballage cadeau payant et la carte message personnalisée au checkout pour PrestaShop 8 et 9.

Mis à jour Version du module 1.0.0

Présentation

Le module Emballage Cadeau & Message (dfgiftwrap) ajoute, dans le tunnel de commande, le choix d’un emballage cadeau payant et d’une carte message personnalisée. Le client sélectionne une option d’emballage illustrée, peut y joindre un message libre, et les frais correspondants s’intègrent proprement au total de la commande — TVA, devise et multiboutique étant gérés par le cœur de PrestaShop, jusqu’à la facture.

Les frais ne sont pas un simple affichage : ils sont portés par un produit-frais dédié et un prix spécifique limité au panier du client. Le montant se retrouve donc naturellement dans les totaux, la commande et la facture, avec la bonne TVA.

Compatibilité

  • PrestaShop 8.0 à 9.x
  • Mono-boutique et multiboutique
  • PHP 7.4 à 8.3
  • Thème Classic et thèmes personnalisés
  • Interface livrée en français et entièrement traduisible
  • Aucune dépendance (ni Composer ni framework)

Installation

  1. Dans le back-office, ouvrez Modules > Gestionnaire de modules.
  2. Cliquez sur Installer un module puis sélectionnez le fichier dfgiftwrap.zip.
  3. Une fois installé, cliquez sur Configurer.

À l’installation, le module crée ses tables, enregistre ses hooks (ressources front, bloc au checkout, validation de commande, fiche commande BO, confirmation) et génère un produit-frais caché (référence DF-GIFTWRAP-FEE) : virtuel, non visible en boutique, prix non affiché. C’est lui qui porte le montant emballage + carte dans le panier. Ne le supprimez pas manuellement.

Configuration

Réglages généraux

  • Activer l’emballage cadeau : affiche ou masque le bloc des options d’emballage au checkout.
  • Activer la carte message : affiche ou masque l’option carte + message.
  • Prix de la carte : montant (hors taxe) facturé lorsque le client ajoute une carte message.
  • Longueur maximale du message : nombre de caractères autorisés (200 par défaut). Un compteur accompagne le client pendant la saisie.
  • Groupe de règles de taxe : groupe de TVA appliqué aux frais d’emballage et de carte.

Gérer les options d’emballage

Depuis la page de configuration, cliquez sur « Gérer les options » pour ouvrir l’écran dédié (contrôleur AdminDfGiftWrapOptions). Vous y créez autant d’options que souhaité, chacune avec :

  • Nom : libellé multilingue de l’option (ex. « Papier kraft élégant », « Coffret cadeau premium »).
  • Prix : montant hors taxe de l’option d’emballage.
  • Image : visuel illustrant l’option (normalisé automatiquement en JPG).
  • Position : ordre d’affichage, modifiable par glisser-déposer.
  • Actif : affiche ou masque l’option côté boutique sans la supprimer.

Le nom est un champ multilingue : sélectionnez chaque langue dans le sélecteur du champ pour traduire l’intitulé de l’option.

Fonctionnement

Au checkout

Le bloc d’emballage et de carte est injecté en haut du récapitulatif de commande via le hook displayCheckoutSummaryTop. Le client choisit une option d’emballage, active éventuellement la carte et saisit son message. La sélection est enregistrée en AJAX. Comme le choix modifie le montant, le total est rafraîchi pour refléter les frais ; le message, lui, est enregistré sans rechargement superflu.

Mécanisme des frais

À chaque sélection, le module calcule le montant total (option d’emballage + carte) et crée un prix spécifique (SpecificPrice) limité au panier courant, appliqué au produit-frais caché. Ce produit est ajouté au panier lorsque le montant est supérieur à zéro, retiré sinon. PrestaShop applique alors la TVA, la devise et le contexte multiboutique, et le frais apparaît comme une ligne normale dans les totaux, la commande et la facture.

Où apparaît le message

À la validation de la commande (actionValidateOrder), la sélection est figée. Le message saisi par le client est visible à trois endroits :

  • sur la fiche commande en back-office (bloc dédié via displayAdminOrderMain) ;
  • sur la page de confirmation affichée au client après l’achat ;
  • dans le champ cadeau natif de la commande (gift_message, avec gift = 1), ce qui le fait apparaître dans les e-mails standards de PrestaShop.

Comme le message est aussi écrit dans le champ cadeau natif, vos modèles d’e-mails et vos outils de préparation qui exploitent déjà ce champ affichent le mot du client sans configuration supplémentaire.

FAQ et dépannage

S’agit-il d’une carte cadeau ou d’un bon d’achat ?

Non. Le module gère un service d’emballage cadeau et une carte message à offrir, pas un moyen de paiement ni un bon d’achat. Le client paie un emballage et peut y joindre une dédicace.

Le frais n’apparaît pas dans le total

Vérifiez que le produit-frais caché (DF-GIFTWRAP-FEE) existe toujours et qu’au moins une option d’emballage est active. Videz le cache de PrestaShop, puis rechargez la page de commande. Le frais ne s’applique que lorsque le montant calculé est supérieur à zéro.

La page d’accueil ou la boutique devient blanche après installation

Assurez-vous d’utiliser la dernière version du module et videz le cache. Le produit-frais est volontairement non visible en boutique ; ne le rendez pas visible et ne le supprimez pas manuellement.

Le message est coupé

Le message est limité par le réglage Longueur maximale du message. Augmentez cette valeur dans la configuration si vos clients ont besoin de textes plus longs.

Comment ajouter l’anglais, l’espagnol, l’allemand ou l’italien ?

L’interface est livrée en français et entièrement traduisible. Rendez-vous dans Paramètres avancés > Traductions > Traductions des modules installés, choisissez dfgiftwrap et la langue, puis traduisez les chaînes. Les noms d’options d’emballage se traduisent directement dans leur champ multilingue.

Est-ce compatible PrestaShop 9 ?

Oui. Le module est conçu et testé de PrestaShop 8.0 à 9.x, avec un contrôleur d’administration legacy, en mono-boutique comme en multiboutique.

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

Toujours bloqué ? Contactez le support