DataFirefly Order Vouchers — Guide complet
Installer et exploiter l'affichage des codes promo utilisés et du montant de la réduction dans la liste des commandes du back-office, pour PrestaShop 8 et 9.
Présentation et prérequis
DataFirefly Order Vouchers ajoute deux colonnes à la liste des commandes du back-office : le ou les codes promo utilisés sur chaque commande, et le montant total de la réduction (formaté dans la devise de la commande). Le module ne crée aucune table, n’écrit rien en base et ne surcharge aucun contrôleur : il lit simplement les bons de réduction déjà enregistrés sur vos commandes et les affiche dans la grille.
- Compatible PrestaShop 8.0 à 9.x.
- PHP 7.4 à 8.3.
- Multiboutique et multilingue (FR/EN/ES/DE/IT).
- Aucune surcharge de fichiers : uniquement les hooks natifs de la grille Symfony des commandes.
Les données proviennent des tables order_cart_rule et cart_rule. Une commande sans bon de réduction affiche simplement une cellule vide dans les deux colonnes.
Installation
- Téléchargez l’archive
dfordervouchers.zipdepuis votre compte client. - Dans le back-office, allez dans Modules > Gestionnaire de modules.
- Cliquez sur Installer un module et déposez l’archive.
- L’installation enregistre les deux hooks de la grille des commandes. Aucune configuration n’est nécessaire.
Dès l’installation, ouvrez Commandes > Commandes : les deux nouvelles colonnes apparaissent à la suite de la colonne « Total ».
Le module ne possède pas de page de configuration : il fonctionne immédiatement après l’installation, sans aucun réglage.
Les deux colonnes ajoutées
Code(s) promo
Cette colonne affiche le code de chaque bon de réduction réellement appliqué à la commande. Lorsqu’une commande cumule plusieurs codes, ils sont regroupés, dédoublonnés et séparés par des virgules. Les promotions automatiques (règles panier sans code) ne sont pas affichées dans cette colonne, puisqu’elles n’ont pas de code à présenter.
Réduction
Cette colonne totalise le montant remisé sur la commande, tel qu’il a été enregistré au moment de la validation (TTC par défaut), et l’affiche dans la devise de la commande. Une commande en livres ou en dollars affiche donc son montant dans sa propre devise. Si aucune réduction n’a été appliquée, la cellule reste vide.
Fonctionnement technique
À partir de PrestaShop 1.7.7, la liste des commandes repose sur la grille Symfony. Le module s’y branche via deux hooks officiels :
actionOrderGridDefinitionModifier: ajoute les deux colonnes à la définition de la grille, juste après la colonne « Total ».actionOrderGridQueryBuilderModifier: enrichit la requête de la grille avec deux sous-requêtes corrélées surorder_cart_ruleetcart_rule.
Les sous-requêtes étant corrélées à l’identifiant de commande, elles ne produisent aucune duplication de lignes et n’entrent pas en conflit avec le regroupement interne de la grille. Le montant réutilise la devise déjà jointe par le cœur dans la requête de la grille.
Le module est en lecture seule : il n’écrit jamais en base et ne modifie aucune commande. Il peut être installé et désinstallé sans aucun impact sur vos données.
Cas particuliers
Plusieurs codes sur une commande
Tous les codes sont affichés, séparés par des virgules. Le montant de la colonne « Réduction » additionne l’ensemble des bons appliqués à la commande.
Promotions automatiques sans code
Par défaut, la colonne « Réduction » additionne toutes les réductions de la commande, y compris d’éventuelles promotions automatiques sans code. La colonne « Code(s) promo », elle, n’affiche que les bons possédant un code. Une variante limitant le montant aux seuls bons avec code est disponible sur demande.
Multidevise
Le montant est toujours affiché dans la devise de la commande concernée, en réutilisant la devise jointe par la grille native.
Multiboutique
L’affichage respecte le contexte boutique courant du back-office, exactement comme la grille native des commandes.
Tri et personnalisation
Les libellés des deux colonnes sont traduisibles via le système de traduction des modules PrestaShop, dans les cinq langues. Le tri natif de la grille reposant sur une liste blanche de champs, un clic sur l’en-tête de ces colonnes calculées ne déclenche pas de tri mais ne provoque aucune erreur.
FAQ et dépannage
Les colonnes n’apparaissent pas
Vérifiez que le module est bien installé et actif dans le Gestionnaire de modules, puis rechargez la page Commandes > Commandes. Les colonnes apparaissent à la suite de la colonne « Total ».
La colonne « Réduction » est vide alors qu’un code est affiché
Cela peut arriver si le bon enregistré sur la commande a une valeur nulle, par exemple un bon de livraison gratuite. Le code reste affiché, mais le montant remisé est égal à zéro.
Le module fonctionne-t-il sur PrestaShop 8 et 9 ?
Oui. Il s’appuie sur la grille Symfony des commandes présente dans les deux versions, via les hooks officiels de définition et de query builder.
Que se passe-t-il à la désinstallation ?
La désinstallation retire simplement les deux hooks. Aucune table n’ayant été créée et aucune donnée n’ayant été écrite, il ne reste rien en base.