Intérêts à ce changement

En règle normale, Prestashop est configuré pour créer des références de commandes avec des lettres uniquement.

Hors lors d’appels de client pour retrouver leur commande, l’eppelation de cette référence peut devenir un calvaire avec les différentes combinaisons et les lettres se ressemblant (« b » et « d », « m » et « n », etc…).

Comment changer cela

1ère étape

Si vous êtes en cache

Supprimer le fichier /www/cache/class_index.php.
Ce fichier liste les différents chemins de toutes les classes utilisées. Sans cette suppression, les modifications apportées ci-dessous ne fonctionneront pas.

Sinon

Aller dans Paramètres avancés, Performances et cliquer sur le bouton « Vider le cache » tout en haut à droite.

Prestashop - Vider le cache

2ème étape

Il faut ajouter une classe dans le dossier /www/override/classes/order/, que l’on appelera Order.php. Ce fichier contiendra le code suivant :

<?php

    class Order extends OrderCore
    {
        /**
         * Generate a unique reference for orders 
* Only get numbers
* * @return String */ public static function generateReference() { return strtoupper(Tools::passwdGen(9, 'NUMERIC')); } }
 
La fonction que l’on vient surcharger, nommée generateReference, est la fonction principale de la gestion des commandes de Prestashop et qui construit la référence commande. Par défaut, dans la classe native de Prestahop, celle-ci contient un paramètre ne récupérant que des lettres. Ici, nous surchargeons pour ne demander que des chiffres (NUMERIC). Ceci dans le but d’obtenir une référence uniquement composée de 9 chiffres.