PrestaShop, jako jedna z popularnych platform e-commerce, oferuje szeroki zakres możliwości konfiguracji, pozwalając przedsiębiorcom dostosować swoje sklepy internetowe do indywidualnych potrzeb. Jednym z elementów wymagających uwagi jest domyślna numeracja zamówień generowana przez PrestaShop. Standardowo platforma ta przypisuje każdemu zamówieniu losowy ciąg dziewięciu znaków, co choć może być skuteczne pod względem unikalności, może jednocześnie stanowić pewne wyzwanie dla klientów, jak i obsługi sklepu.
W trakcie codziennego funkcjonowania sklepu, klienci regularnie poszukują informacji związanych z postępem i szczegółami swoich zamówień, zwłaszcza w sytuacjach, gdy kontaktują się z obsługą klienta drogą telefoniczną. W przypadku, gdy domyślna numeracja zamówień opiera się na 9 losowych znakach, klientom może sprawić trudność precyzyjne przekazanie numeru zamówienia. Jest to szczególnie istotne podczas rozmowy telefonicznej, gdzie szybkie zlokalizowanie pozycji w systemie przez obsługę klienta staje się kluczowym elementem efektywnej, szybkiej i satysfakcjonującej interakcji. Dlatego warto rozważyć zmianę numeracji zamówień, co umożliwi sprawniejsze i bardziej precyzyjne obsługiwane klientów,
PrestaShop Numeracja Zamówień – Jak Dostosować Numerację Zamówień w Twoim Sklepie?
1. Utworzenie pliku – Order.php
Pierwszym krokiem do zmiany numeracji w PrestaShop jest utworzenie pliku o nazwie Order.php. Wykonujemy to za pomocą notatnika lub innego edytora tekstu, na przykład Notepad++.
2. Zawartość pliku Order.php
Wstawiamy poniższy kod, który będzie odpowiedzialny za pobieranie dotychczasowej liczby zamówień i przypisywanie kolejnego numeru zamówienia.
<?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); } }
Jeżeli chcielibyśmy nadać prefiks naszym zamówieniom, na przykład gdy prowadzimy kilka sklepów, wystarczy, że zmienimy zera na ciąg znaków, który uważamy za właściwy dla naszych potrzeb. na przykład ‘SW0000000’. Czyli nasz kod będzie wygląd tak:
<?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,'SW0000000', STR_PAD_LEFT); } }
Jeżeli zależy nam na tym, aby w liście przewozowym pojawiło się przynajmniej 3 znaki (co jest wymagane przez InPost), możemy rozpocząć numerację od numeru setnego. Wówczas nasz kod może mieć następującą postać:
<?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,'000000100', STR_PAD_LEFT); } }
3. Przesłanie przygotowanego pliku Order.php na serwer
Przygotowany plik należy przesłać na serwer. Jeśli nie jesteś pewien, jak to zrobić, znajdziesz wszelkie niezbędne informacje w naszym artykule, który dostępny jest 👉 tutaj.
Plik, w zależności od wersji PrestaShop, powinien zostać umieszczony w odpowiednim katalogu. W przypadku:
PrestaShop 1.X – należy umieścić w folderze override/classes/order
PrestaShop 8.X – należy umieścić w folderze override/classes
4. Czyszczenie pamięci podręcznej
Aby wyczyścić pamięć podręczną naszego sklepu, należy zalogować się do panelu administracyjnego. Po zalogowaniu, przechodzimy do sekcji zaawansowane, którą znajdziemy po lewej stronie. Następnie wybieramy opcję “Wydajność”. Z prawej strony, w górnej części ekranu, znajdujemy przycisk umożliwiający wyczyszczenie pamięci podręcznej.
Dodatkowe wskazówki:
Preferowany format numeracji – Wybierz format numeracji, który najlepiej pasuje do Twoich preferencji i potrzeb biznesowych. Może to być prosta liczba lub bardziej skomplikowany kod zawierający informacje o roku, miesiącu, czy innym kluczowym parametrze.
Zadbaj o ciągłość numeracji – Pamiętaj, aby zachować ciągłość numeracji zamówień, zwłaszcza jeśli zmieniasz format numeracji. Nieregularna numeracja może utrudnić śledzenie zamówień i zarządzanie nimi.
Mam nadzieję, że nasz artykuł był pomocny w dostosowaniu Twojego sklepu opartego na CMS PrestaShop do własnych potrzeb.
Robiłem krok po kroku zgodnie z instrukcją i mam zera na końcu… jakieś pomysły?
Czy numer zamówienia przekracza 9 znaków? Presta wyświetla pierwsze 9 znaków. Spróbuj skrócić swój numer zamówienia, myślę że pomoże 🙂
A jak zrobić by numer zamówienia był zgodny z numerem fv? Chodzi mi o Fv/rr/mm/kolejny numer?
Przetestuj poniższy kod w swoim sklepie:
<?php
Class Order extends OrderCore
{
public static function generateReference()
{
$last_id = Db::getInstance()->getValue(‘
SELECT MAX(id_order)
FROM ‘._DB_PREFIX_.’orders’);
$year = date(‘y’);
$month = date(‘m’);
// Dodaj zero przed miesiącem, jeśli jest to jednocyfrowy miesiąc
$month = str_pad($month, 2, ‘0’, STR_PAD_LEFT);
$reference = ‘FV’ . $year . $month . str_pad((int)$last_id + 1, 3, ‘000’, STR_PAD_LEFT);
return $reference;
}
}
Jeśli napotkasz dalsze problemy lub chcesz mieć pewność że wszystko zadziała poprawnie, napisz do nas. Jesteśmy gotowi do modyfikacji kodu na Twoim sklepie. Koszt takiej implementacji wyniesie 80 zł. 😉