Disponible pour missions & renforts d’agence · Réponse rapide, par la personne qui intervient

Créer ou modifier des statuts de commande personnalisés sur PrestaShop

Créer un statut sur mesure, masquer un statut existant, ou faire en sorte qu’un statut change automatiquement selon un événement : la gestion des statuts de commande touche à la fois l’affichage, l’e-mail associé, et parfois une erreur 500 quand l’un des deux est mal configuré.

Décrire mon problème Discuter sur WhatsApp

Ce qui se règle depuis le back-office

Les statuts se gèrent dans Commandes > Statuts, où chaque statut peut avoir son propre libellé, sa couleur, et surtout un déclenchement d’e-mail automatique vers le client, avec son propre template. Créer un nouveau statut, associer ou retirer son e-mail, changer sa couleur : tout cela se fait depuis cet écran, sans développement.

Ce qui n’est en revanche pas prévu nativement : masquer un statut existant à certains utilisateurs du back-office, ou le retirer du workflow standard tout en le conservant pour l’historique. Un statut se désactive ou se supprime, il ne se masque pas de façon conditionnelle sans développement.

L’erreur 500 au changement de statut

C’est un cas fréquent et presque toujours lié à la même cause : le template d’e-mail associé au nouveau statut est manquant, mal formé, ou référence un logo introuvable. Le changement de statut déclenche la génération de l’e-mail, et une variable Smarty non définie dans ce template suffit à interrompre tout le processus avec une erreur 500, même si la logique de changement de statut elle-même est correcte.

Je commence toujours par vérifier le template d’e-mail du statut concerné, dans le dossier mails/ de la langue utilisée, avant de chercher une cause plus complexe.

Automatiser un changement de statut

Faire changer un statut automatiquement — par exemple dès qu’un numéro de suivi transporteur est renseigné sur la commande — n’existe pas nativement dans PrestaShop. Cela demande d’accrocher du code sur un hook approprié, par exemple au moment de la mise à jour de la commande, pour déclencher le changement de statut selon la condition voulue. C’est un développement ciblé, pas un réglage.

Pages liées

Décrivez votre besoin en 1 minute

Quelques questions ciblées pour que je vous réponde avec une estimation, pas avec un questionnaire de plus.

Que doit faire le module ?
Sur quelle version de PrestaShop ?
Où le module doit-il s’intégrer ? (facultatif)
Avez-vous déjà essayé un module du marché ? (facultatif)

Savoir ce qui a échoué évite de reproduire la même limite.

Pour quand ? (facultatif)
Indiquez au moins un e-mail ou un téléphone pour que je puisse vous répondre.

Indiquez au moins un e-mail ou un téléphone pour que je puisse vous répondre.

Questions fréquentes

Peut-on masquer un statut sans le supprimer ?
Pas nativement pour un usage conditionnel : PrestaShop propose seulement d’activer ou de désactiver un statut globalement. Un masquage selon le profil de l’utilisateur back-office demande un développement.
Un module qui change automatiquement le statut d’une commande, ça existe ?
Il existe des modules pour des cas précis, comme le paiement ou le transporteur, mais pour une logique propre à un site, je développe généralement un hook dédié plutôt que d’adapter un module générique.
Pourquoi une erreur 500 apparaît-elle seulement sur certains statuts ?
Parce que chaque statut a son propre template d’e-mail : si un seul de ces templates est cassé, seul le changement vers ce statut précis déclenche l’erreur, les autres continuent de fonctionner normalement.
Peut-on renommer un statut existant sans risque ?
Oui, renommer le libellé n’a pas d’impact technique. Ce qui demande plus d’attention, c’est de modifier son comportement — couleur d’historique, envoi d’e-mail, statut de facturation associé — car d’autres réglages du site peuvent s’appuyer dessus.