Ceny według kraju, sklepu i waluty: dokumentacja
Instalacja, tworzenie reguł, zrozumienie kalkulacji ceny, masowe przeliczanie i automatyzacja przez cron.
Ceny według kraju, sklepu i waluty stosuje współczynnik marży oraz zaokrąglenie psychologiczne właściwe dla danego rynku, a następnie zapisuje wynik jako natywne ceny specyficzne PrestaShop. Ten przewodnik obejmuje instalację, tworzenie reguł, sposób wyliczania ceny, masowe przeliczanie oraz automatyzację przez cron.
Instalacja
Moduł jest zgodny z PrestaShop od 8.0 do 9.x, zarówno w trybie jednosklepowym, jak i multisklep.
- W panelu administracyjnym przejdź do Moduły > Menedżer modułów, kliknij Wgraj moduł i wskaż plik ZIP.
- Podczas instalacji moduł tworzy swoje dwie tabele, zakładkę DF Multi Price w sekcji Katalog oraz automatycznie generuje token crona.
- Otwórz konfigurację modułu, aby ustawić automatyczne stosowanie reguł, rozmiar partii i pobrać adres URL crona.
Tworzenie reguły cenowej
Przejdź do Katalog > DF Multi Price i kliknij Dodaj regułę. Reguła celuje w kombinację wymiarów i opisuje sposób wyliczenia ceny końcowej.
Celowanie
- Sklep: konkretny sklep albo „Wszystkie”. Przy opcji „Wszystkie” ceny bazowe odczytywane są ze sklepu domyślnego.
- Kraj: kraj, którego VAT służy do wyliczenia zaokrąglenia na cenie brutto.
- Waluta: waluta, w której stosowane jest zaokrąglenie psychologiczne.
- Kategoria: ogranicza regułę do kategorii i jej podkategorii albo obejmuje „Cały katalog”.
Obliczenie
- Podstawa ceny: cena sprzedaży netto albo cena zakupu (w tym trybie produkty bez ceny zakupu są pomijane).
- Współczynnik marży: mnożnik stosowany do podstawy. Na przykład 1,20 oznacza +20 %. Wartość 1,00 stosuje wyłącznie zaokrąglenie.
- Tryb zaokrąglania: do najbliższej, zawsze w górę, zawsze w dół albo brak.
- Końcówka psychologiczna: x,90, x,95, x,99, x,50 lub x,00.
- Zaokrąglenie na cenie brutto: zalecane, ponieważ klient widzi cenę brutto. Używany jest VAT kraju z reguły.
- Cena minimalna: minimalna cena brutto w walucie reguły. Wartość 0 oznacza brak minimum.
- Priorytet: przy globalnym przeliczaniu niższe wartości przetwarzane są jako pierwsze.
Jak wyliczana jest cena końcowa
Zaokrąglenie psychologiczne ma sens wyłącznie na kwocie widocznej dla klienta, czyli na cenie brutto. Silnik przechodzi więc następującą sekwencję:
- Cena bazowa netto pomnożona przez współczynnik marży.
- Przeliczenie na walutę reguły według jej kursu wymiany.
- Przejście na brutto przez dodanie VAT kraju z reguły.
- Zaokrąglenie do wybranej końcówki zgodnie z przyjętym trybem.
- Zastosowanie ewentualnej ceny minimalnej.
- Powrót do ceny netto, a następnie do waluty domyślnej, na potrzeby zapisu.
Przykład: cena bazowa 69,99 EUR netto, współczynnik 1,20, VAT 19 % i końcówka x,99 dają cenę wyświetlaną 99,99 EUR brutto. Cena zapisywana jest netto w walucie domyślnej, ale prezentacja w sklepie zachowuje oczekiwaną końcówkę.
Wygenerowane ceny zapisywane są jako natywne ceny specyficzne PrestaShop. Rdzeń odczytuje je jak każdą inną cenę specyficzną: żadnych dynamicznych obliczeń w momencie wyświetlania, a więc zero wpływu na wydajność front-endu.
Masowe przeliczanie
Po utworzeniu lub zmodyfikowaniu reguły zastosuj ją do całego katalogu.
- Z poziomu listy reguł akcja Przelicz obsługuje jedną wybraną regułę.
- Przycisk Przelicz wszystkie aktywne reguły na pasku narzędzi uruchamia kolejno wszystkie reguły, w kolejności priorytetów.
Przetwarzanie odbywa się w partiach AJAX z paskiem postępu. Każdy przebieg pokazuje liczbę cen utworzonych, zaktualizowanych i pominiętych. Rozmiar partii (od 10 do 500 produktów) ustawia się w konfiguracji modułu.
Przy bardzo dużym katalogu zwiększ rozmiar partii, aby ograniczyć liczbę żądań, albo zmniejsz go, jeśli serwer ogranicza czas wykonania pojedynczego żądania.
Automatyzacja przez cron
Kontroler crona automatycznie odtwarza wszystkie aktywne reguły. Adres URL, chroniony tokenem, widoczny jest w konfiguracji modułu i ma następującą postać:
https://twojsklep.com/index.php?fc=module&module=dfmultiprice&controller=cron&token=TWOJ_TOKEN
Zaplanuj wywołanie tego adresu w zadaniu cron u swojego hostingodawcy, na przykład raz na dobę w nocy. Kontroler zwraca podsumowanie JSON dla każdej reguły (łącznie, utworzone, zaktualizowane, pominięte). W razie wycieku tokenu wygeneruj go ponownie z poziomu konfiguracji: stary adres przestanie wtedy działać.
Automatyczne stosowanie
Gdy opcja jest włączona, każde utworzenie lub modyfikacja produktu uruchamia zastosowanie aktywnych reguł odpowiadających temu produktowi. Przydatne, aby utrzymywać ceny aktualne bez globalnego przeliczania, zwłaszcza przy regularnych importach.
Usuwanie i odinstalowanie
Moduł śledzi każdą wygenerowaną przez siebie cenę specyficzną. Dzięki temu:
- Usunięcie reguły automatycznie kasuje wszystkie ceny specyficzne, które ta reguła utworzyła.
- Odinstalowanie modułu czyści komplet wygenerowanych przez niego cen, nie pozostawiając żadnych pozostałości.
Moduł nigdy nie nadpisuje ręcznie utworzonej ceny specyficznej o innych wymiarach. Jeśli natomiast istnieje już cena specyficzna o identycznych wymiarach (ten sam sklep, kraj, waluta, bez rabatu i bez zakresu dat), moduł przejmuje ją, aby uniknąć duplikatów.
Rozwiązywanie problemów
Produkt nie został zaktualizowany
Sprawdź, czy jest aktywny w sklepie wskazanym w regule, czy rzeczywiście należy do docelowej kategorii oraz, przy podstawie „cena zakupu”, czy ma uzupełnioną cenę zakupu.
Wyświetlana cena ma niewłaściwą końcówkę
Upewnij się, że opcja „Zaokrąglenie na cenie brutto” jest włączona, a kraj z reguły odpowiada oczekiwanej stawce VAT. Końcówka stosowana jest na cenie brutto, nie na netto.
Cron zwraca „Invalid token”
Token w adresie URL nie odpowiada już temu zapisanemu w module. Pobierz aktualny adres z konfiguracji albo wygeneruj token ponownie.