machpro Posted October 24, 2015 Share Posted October 24, 2015 Bjr, Je souhaite modifier la nature de la référence de la commande, je sais comment on peut changer la suite de lettres par des valeurs numériques mais je voudrais que cette référence commande prenne la valeur de l'ID du panier correspondant. Ceci est très pratique pour vérifier les paiements cars au niveau de la banque c'est l'ID du panier qui est pris en compte comme numéro de transaction. J'avais déjà fait par le passé cette manipulation mais suite à un problème sur mon site j'ai perdu cette modif et je ne retrouve pas la procédure pour la remettre en place. Si quelqu'un l'utililise et connaît la manip c'est avec grand plaisir que j'attend ses explications. merci par avance Bonne journée à tous Link to comment Share on other sites More sharing options...
Eolia Posted October 24, 2015 Share Posted October 24, 2015 Bonsoir, C'est un peu plus compliqué qu'une simple manip sous les 1.5/1.6 Je vous propose ce module qui fait le travail en arrière plan : http://eoliashop.com/Modules_Prestashop/Prestashop15-16/reftoid Pour 20€ ce n'est pas la ruine Link to comment Share on other sites More sharing options...
machpro Posted October 24, 2015 Author Share Posted October 24, 2015 merci pour la proposition mais le module ne prend pas l'id du panier comme référence de la commande. ce ne doit pas être très compliqué car je l'avais fait sur mon ite en 1.6 et j'avais oublié de noter la manip; cela fonctionnait il y a une semaine! Link to comment Share on other sites More sharing options...
Eolia Posted October 25, 2015 Share Posted October 25, 2015 Oupsss j'ai lu trop vite désolé Si c'est l'ID du panier c'est beaucoup plus simple en effet, car il existe déjà au moment de la création de la référence. Modifier cette fonction dans classes/order/order.php public static function generateReference() { return strtoupper(Tools::passwdGen(9, 'NO_NUMERIC')); } en la remplaçant par: public static function generateReference() { return $this->id_cart; } perso, je rajoute d'id_shop pour m'y retrouver dans le cas d'un multiboutique et éviter les références en double: public static function generateReference() { return $this->id_cart.'-'.$this->id_shop; } 1 Link to comment Share on other sites More sharing options...
machpro Posted October 26, 2015 Author Share Posted October 26, 2015 Bonjour, Merci pour l'aide apportée; je viens de faire lamodif mais j'ai une erreur au moment de valider la commande aprés avoir choisi le moyen de paiement: Fatal error: Using $this when not in object context in /home/..../public_html/classes/order/Order.php on line 1632 Merci encore si vous avez une solution Link to comment Share on other sites More sharing options...
neocatalys Posted February 12, 2016 Share Posted February 12, 2016 Bonjour, J'ai également la même erreur, est-ce que c'est du au fait que la methode soit static ? De plus j'aimerai dans cette methode récupérer plutôt l'id de la commande. J'ai modifié la methode comme ceci, mais ça ne marche pas. Est-ce que quelqu'un aurait une idée ? Xavier public static function generateReference() { return str_pad($this->id, 9, "0", STR_PAD_LEFT); } Link to comment Share on other sites More sharing options...
Eolia Posted February 12, 2016 Share Posted February 12, 2016 J'ai développé un petit module dans cette optique (remplacer la reference commande par l'id_order préfixé de 0 au choix) sans aucun override. Dispo ici : http://eoliashop.com/Modules_Prestashop/Prestashop15-16/reftoid Link to comment Share on other sites More sharing options...
neocatalys Posted February 15, 2016 Share Posted February 15, 2016 Ca y est j'ai trouvé la solution a mon problème sur le site stackoverflow En fait il faut faire un override de la classe PaymentModule.php. Tout est expliqué ici : http://stackoverflow.com/questions/20897408/how-to-change-the-order-reference-to-number-reference et maintenant j'ai bien l'ID de ma commande comme référence Link to comment Share on other sites More sharing options...
PiecesAutoPerf Posted March 1, 2017 Share Posted March 1, 2017 J'ai développé un petit module dans cette optique (remplacer la reference commande par l'id_order préfixé de 0 au choix) sans aucun override. Dispo ici : http://eoliashop.com/Modules_Prestashop/Prestashop15-16/reftoid Franchement le module à Eolia est top, 10 secondes pour le paramétrer (PS 1.6.1.11) et hop, ça marche nickel pourquoi chercher compliqué quand on peut faire simple ? 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now