Numeracja zamówień w PrestaShop

Jeżeli chcesz zmienić numerację zamówień z dziewięciu losowo wybranych dużych liter na kolejne cyfry. Wystarczy zmienić jedną funkcję wg. poniższego przykładu.

Poniższy rysunek pokazuje jak wygląda panel administratora po zmianie numeracji zamówień w PrestaShop z losowych znaków na cyfry.

numeracja zmówień w Prestashop
Domyślnie do generowania numeru zamówienia jest używana funkcja generateReference(). W PrestaShop 1.7.6.8 znajduje się w pliku /clasess/order/Order.php
public static function generateReference()
{
    return strtoupper(Tools::passwdGen(9, 'NO_NUMERIC'));
}

Funkcja zwraca 9 losowych znaków nie będących cyframi. Żeby zamówienia były kolejnymi cyframi możemy zastosować poniższą funkcję która pobiera maksymalny ID z tabeli zamówień. Z uwagi, że wartość jest typu string żeby nie było problemów sortowaniem należy zastosować funkcję str_pad która doda zera na początku.

public static function generateReference()
{
        $last = Db::getInstance()->getValue('SELECT MAX(id_order) FROM '._DB_PREFIX_.'orders');
        return str_pad((int)$last + 1, 9, '000000000', STR_PAD_LEFT);

}

Po zmianie w mailu wysyłanym do klineta i panelu administratora numeracja będzie łatwa do przekazania w rozmowie telefonicznej.

prestashop zamówienie numeracja
Widok numeracji zamówienia w panelu administratora
numeracja zamówienia w mailu
Numer zamówienia wysyłany do klienta w mailu.
Zapraszamy do czytania instrukcja Prestashop
Zamów wycenę
Polityka prywatności | Regulamin
Pro-link 2005-2020