Domyślnie Presta Shop nadaje numerom zamówień dość kuriozalną formę. Jest to losowy ciąg 9 liter pisanych capsem typu:
FZEEWLRFQ KSUMSUJSH
itp.
Jest to o tyle dziwne, że każde zamówienie ma istotnie swój unikalny numer na liście i dlaczego z niego nie skorzystać? Widać to w zakładce:
Zamówienia -> Zamówienia
W pierwszej kolumnie.
Na szczęście możemy to stosunkowo łatwo zmienić bez konieczności kupowania płatnych modułów, które to realizują.
Zawartość artykułu
1. Tworzymy plik nadpisywania tworzenia numeru zamówienia
Tworzymy plik w lokalizacji:
override/classes/order/Order.php
O zawartości:
<?php Class Order extends OrderCore { public static function generateReference() { $last_id = Db::getInstance()->getValue(' SELECT MAX(id_order) FROM '._DB_PREFIX_.'orders'); return str_pad((int)$last_id + 1, 9, '000000000', STR_PAD_LEFT); } }
2. Nadpisywania w Presta Shop
Upewniamy się, że na sklepie są włączone nadpisywania:
Zaawansowane -> Wydajność -> (sekcja) Tryb debugowania -> Wyłącz wszystkie nadpisywania -> NIE
3. Usuwamy plik cache
Logujemy się na serwer i kasujemy plik:
cache/class_index.php
(zostanie on wygenerowany automatycznie od nowa)
Gotowe 🙂 Daj znać czy Ci to pomogło.
Witam!
A jak skrócić standardowo obecny ciąg znaków w zamówieniu?
Zostawić ten co jest czy skrócić numeryczny? Bo jeśli skrócić numeryczny, to w linijce gdzie jest return str_pad zamień 9 na pożądaną cyfrę
Chodzi o skrócenie standardowego dla presty ciągu alfabetycznego zamówienia.
Witam, a w jaki sposób można zrobić nr zamówień w formacie NUMER_ZAMÓWIENIA/ROK tak, aby był on np 123456789/2020 i w kolejnym roku zamienić na 123456789/2021?
Dziękuję, bardzo cenne rozwiązanie. Działa na 1.7.
Witam
Tworzymy plik w lokalizacji:
override/classes/order/Order.php CZYLI GDZIE TO WPISAC
@Klaudia utwórz folder override/classes/order/ i tam umieść ten plik PHP. Pytanie czy Twoja wersja sklepu to 1.6 ? Dla 1.7 raczej to nie zadziała 🙁