PS PrestaShop Początkujący

DataFirefly Order Vouchers: kompletny przewodnik

Instalacja i praca z wyświetlaniem użytych kodów rabatowych oraz kwoty obniżki w liście zamówień panelu administracyjnego PrestaShop 8 i 9.

Zaktualizowano Wersja modułu 1.0.0

Prezentacja i wymagania

DataFirefly Order Vouchers dodaje dwie kolumny do listy zamówień w panelu administracyjnym: kod lub kody rabatowe użyte w każdym zamówieniu oraz łączną kwotę obniżki (sformatowaną w walucie zamówienia). Moduł nie tworzy żadnej tabeli, niczego nie zapisuje w bazie i nie nadpisuje żadnego kontrolera: po prostu odczytuje bony rabatowe zapisane już na Twoich zamówieniach i wyświetla je w siatce.

  • Zgodny z PrestaShop 8.0 do 9.x.
  • PHP 7.4 do 8.3.
  • Multisklep i wielojęzyczność (FR/EN/ES/DE/IT).
  • Brak nadpisywania plików: wyłącznie natywne hooki siatki Symfony zamówień.

Dane pochodzą z tabel order_cart_rule i cart_rule. Zamówienie bez bonu rabatowego wyświetla po prostu pustą komórkę w obu kolumnach.

Instalacja

  1. Pobierz archiwum dfordervouchers.zip ze swojego konta klienta.
  2. W panelu administracyjnym przejdź do Moduły > Menedżer modułów.
  3. Kliknij Wgraj moduł i wskaż archiwum.
  4. Instalacja rejestruje dwa hooki siatki zamówień. Żadna konfiguracja nie jest potrzebna.

Zaraz po instalacji otwórz Zamówienia > Zamówienia: dwie nowe kolumny pojawiają się zaraz za kolumną „Razem”.

Moduł nie ma strony konfiguracji: działa natychmiast po instalacji, bez żadnych ustawień.

Dwie dodane kolumny

Kod(y) rabatowe

Ta kolumna wyświetla kod każdego bonu rabatowego faktycznie zastosowanego do zamówienia. Gdy zamówienie łączy kilka kodów, są one zgrupowane, zdeduplikowane i oddzielone przecinkami. Promocje automatyczne (reguły koszyka bez kodu) nie są wyświetlane w tej kolumnie, ponieważ nie mają kodu do pokazania.

Obniżka

Ta kolumna sumuje kwotę rabatu na zamówieniu, w postaci zapisanej w chwili zatwierdzenia (domyślnie brutto), i wyświetla ją w walucie zamówienia. Zamówienie w funtach lub dolarach pokazuje więc swoją kwotę we własnej walucie. Jeśli żaden rabat nie został zastosowany, komórka pozostaje pusta.

Działanie techniczne

Od PrestaShop 1.7.7 lista zamówień opiera się na siatce Symfony. Moduł podpina się do niej przez dwa oficjalne hooki:

  • actionOrderGridDefinitionModifier: dodaje dwie kolumny do definicji siatki, zaraz za kolumną „Razem”.
  • actionOrderGridQueryBuilderModifier: wzbogaca zapytanie siatki o dwa skorelowane podzapytania na order_cart_rule i cart_rule.

Ponieważ podzapytania są skorelowane z identyfikatorem zamówienia, nie powodują duplikacji wierszy i nie kolidują z wewnętrznym grupowaniem siatki. Kwota wykorzystuje walutę dołączoną już przez rdzeń w zapytaniu siatki.

Moduł działa w trybie tylko do odczytu: nigdy nie zapisuje do bazy i nie modyfikuje żadnego zamówienia. Można go zainstalować i odinstalować bez jakiegokolwiek wpływu na Twoje dane.

Przypadki szczególne

Kilka kodów w jednym zamówieniu

Wszystkie kody są wyświetlane, oddzielone przecinkami. Kwota w kolumnie „Obniżka” sumuje wszystkie bony zastosowane do zamówienia.

Promocje automatyczne bez kodu

Domyślnie kolumna „Obniżka” sumuje wszystkie rabaty zamówienia, włącznie z ewentualnymi promocjami automatycznymi bez kodu. Kolumna „Kod(y) rabatowe” pokazuje natomiast wyłącznie bony posiadające kod. Wariant ograniczający kwotę wyłącznie do bonów z kodem jest dostępny na życzenie.

Wielowalutowość

Kwota jest zawsze wyświetlana w walucie danego zamówienia, z wykorzystaniem waluty dołączonej przez natywną siatkę.

Multisklep

Wyświetlanie respektuje bieżący kontekst sklepu w panelu administracyjnym, dokładnie tak jak natywna siatka zamówień.

Sortowanie i personalizacja

Etykiety obu kolumn są tłumaczone przez system tłumaczeń modułów PrestaShop, w pięciu językach. Ponieważ natywne sortowanie siatki opiera się na białej liście pól, kliknięcie nagłówka tych obliczanych kolumn nie uruchamia sortowania, ale też nie powoduje żadnego błędu.

FAQ i rozwiązywanie problemów

Kolumny się nie pojawiają

Sprawdź, czy moduł jest zainstalowany i aktywny w Menedżerze modułów, a następnie przeładuj stronę Zamówienia > Zamówienia. Kolumny pojawiają się zaraz za kolumną „Razem”.

Kolumna „Obniżka” jest pusta mimo wyświetlonego kodu

Może się to zdarzyć, gdy bon zapisany na zamówieniu ma wartość zerową, na przykład bon darmowej dostawy. Kod nadal się wyświetla, ale kwota rabatu wynosi zero.

Czy moduł działa na PrestaShop 8 i 9?

Tak. Opiera się na siatce Symfony zamówień obecnej w obu wersjach, przez oficjalne hooki definicji i query buildera.

Co dzieje się przy odinstalowaniu?

Odinstalowanie po prostu usuwa dwa hooki. Ponieważ żadna tabela nie została utworzona i żadne dane nie zostały zapisane, w bazie nie pozostaje nic.

Czy ta strona była pomocna?

Nadal utknąłeś? Napisz do wsparcia