Jump to content

modifier la reference commande


Recommended Posts

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

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

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;
    }
  • Like 1
Link to comment
Share on other sites

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

  • 3 months later...

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

  • 1 year later...

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 ?

  • Like 1
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...