Prestashop – Mise à jour des commandes Mondial Relay
Chargé de maintenir la boutique d’une Parapharmacie j’ai été amené à faire beaucoup de modifications sur des modules Prestashop et notamment sur le module Mondial Relay. Le module natif développé par Vincent Schoener est assez complet il est d’ailleurs assez agréable d’y ajouter des modifications mineurs car le code est compréhensible. Ce type de transport étant assez économique pour le client il est souvent utilisé et nous souhaitions avoir un changement des statuts des commandes qui soit automatique. De base le module est livré avec un fichier “cron.php” qui une fois ajouté comme une tache cron sur votre serveur mettra automatiquement le statut livré à jour. J’ai donc repris ce script et je l’ai modifié pour avoir un script qui prenne aussi en compte les autres statuts comme “le retour d’un colis”, “l’arrivé en point relais” etc …
Je vous propose donc ce script qui vaut ce qu’il vaut. Seul inconvénient je ne me suis pas attelé à faire une interface de configuration dans la partie administration. Il vous faudra donc modifier en dure les identifiants des statuts pour faire le lien avec Prestashop.
Pour connaitre les identifiants de vos statuts il vous faut aller dans : Panneau d’administration > Commandes > Statuts

Dans le script il faut modifier le code suivant :
$STEPS_CANCELED = array(6,7); # Liste des stauts PS à ne pas mettre à jour. Evite de mettre à jour les statuts des ventes annulées ou remboursés par exemple. /* TABLEAUX PERMETTANT DE FAIRE LE LIEN ENTRE LES STATUTS MR ET PS */ $STEPS_MR_PS = array( 'PRÉPARATION EN COURS' => 3, 'RÉCEPTION DES DONNÉES' => 27, 'PRISE EN CHARGE EN AGENCE' => 4, 'DISPONIBLE AU POINT RELAIS' => 16, 'COLIS LIVRÉ' => 5, 'RETOUR DU COLIS' => 20 );
- Le premier tableau contient les statuts à ne pas traiter. Par exemple ici j’évite de traiter les commandes annulées ou remboursées.
- Dans le dernier tableau on spécifie les IDs Prestashop correspondants à un statut Mondial Relay.
Exemple : Quand Mondial Relay renvoie “DISPONIBLE AU POINT RELAIS” j’attribut à la commande le statut avec l’ID 16, qui chez moi correspond à un staut “Disponible 7 jours dans le point relais” et qui envoi un mail au client pour le prévenir.
Voilà j’espère que ce script vous aidera. Je vais le soumettre à Vincent en lui proposant de l’ajouter pour les prochaines versions du module Mondial Relay. En attendant je vous conseil de garder le nom cron2.php pour éviter de l’écraser lors de mises à jour de la boutique.
Le script zipé :
Prestashop – Mondial Relay – Mise à jour des statuts de commande
Tags: boutique, cron, LAMP, modules, Mondial Relay, mysql, php, plugins, prestashop



Pratique scolaire
Bonne connaissance
Excellente pratique
September 13th, 2011 at 15:21 pm
[...] à jour lisez bien le poste que j’ai fait dessus car tous les paramètres sont en dur aussi. Prestashop – Mise à jour des commandes Mondial Relay [...]
March 26th, 2012 at 19:13 pm
Bonjour,
Votre fichier est très pratique. Merci pour le partage
J’ai modifié le fichier comme vous l’avez indiqué dans votre post, mais il me retourne l’erreur suivante quand je lance la tâche : Fatal error (OrderHistory -> id_order_state is empty)
Aurais-tu une piste pour que j’essaye de résoudre le problème ?
Merci par avance
March 26th, 2012 at 22:14 pm
Prends la dernière version qu’il y a sur le site de Prestashop. Cette modif étant temporaire en attendant qu’une modification soit proposée. Aujourd’hui le module doit fonctionner correctement.
February 12th, 2013 at 18:15 pm
Bonjour,
je viens de tomber sur votre article par hasard, et je découvre cette modification encore inconnu de la communauté prestashop, en tout cas je ne suis jamais tomber dessus ….
Je tiens à vous remercier pour le partage de votre travail, je vais de ce pas effectuer quelque test afin de voir si celà fonctionne encore avec la dernière version du module mondial relay.
En vous remerciant.
Cordialement.
February 12th, 2013 at 20:36 pm
J’avais posté cette solution sur le forum de PrestaShop quelques jours avant pour aider quelqu’un. Attention cette mise a jour n’est pas un vrai correctif. Juste une bidouille en attendant mieux.