Przed instalacją i konfiguracją modułu zapraszamy do zapoznania się z instrukcją.
Moduł wymaga kilku podstawowych usług na serwerze, które w większości przypadków są aktywne.
Gdyby któraś z wymienionych opcji nie była dostępna - należy ją włączyć w panelu serwera lub napisać do administratora.
Moduł możesz znaleźć na liście jako
Po zainstalowaniu modułu musisz zadecydować czy korzystasz z produktów z atrybutami, które zmieniają cenę czy nie
Przykład:Moduł domyślnie wykorzystuje hook after_price, który powinien być domyślnie dostępny w szablonie Twojego sklepu.
{hook h='displayProductPriceBlock' product=$product type="after_price"}Jeśli w swoim szablonie nie posiadasz takiego hooka lub chcesz umieścić moduł w innym miejscu, musisz dodać nasz autorski hook w szablonie
Łączymy się przez FTP z naszym sklepem, i wchodzimy w odpowiednie folderu, oraz edytujemy pliki:
Wybieramy folder themes/nazwa/templates/catalog/_partials/product-prices.tpl - edytujemy plik
i dodajemy w wybranym przez nas miejscu{hook h="displayProductPriceHistory" product=$product}
Wybieramy folder themes/nazwa-tematu/product.tpl - edytujemy plik
i dodajemy w wybranym przez nas miejscu{hook h="displayProductPriceHistory" product=$product}
Moduł umożliwia również pobranie ceny dla wybranej kombinacji - dzięki temu może być wykorzystany do modułów firm trzecich np. listujących wszystkie atrybuty. W kodzie dodajemy hook z parametrem od id_produktu oraz id_kombinacji na zasadzie:
{hook h="displayPriceHistoryForProduct" id_product=id_produktu id_product_attribute=id_kombinacji}
Pamiętaj aby zamiast id_produktu oraz id_kombinacji podstawić odpowiednie identyfiaktory.
Dodatkowo jeśli potrzebujesz pobrać np. cene netto i brutto danej kombinacji czy produktu, jest ona dostępna w zmiennej $lowestPriceAmount oraz $lowestPriceValue którą możesz wykorzystać np w TPLu modułu.
Sprawdzamy czy mamy ustawione wymuszanie zmian w szablonie lub czyścimy cache.
Wchodzimy w Parametry zaawansowane -> Wydajność
Klikamy po prawej Wyczyść pamięć podręczną
W module zalecamy dodanie zadania CRON, które będzie sprawdzało ceny produktów i poprawnie indeksowało je w bazie danych.
/usr/bin/wget -q -F -O - "https://domena.pl/pl/module/x13pricehistory/cron?token=001a111a11aaa1a1a11a1aa11a1a1111&action=index"
Zamiast 001a111a11aaa1a1a11a1aa11a1a1111 wpisujemy poprawny indywidualny token, cały poprawny link znajdziemy w na samej górze w konfiguracji modułu, każdy link posiada swój indywidualny token w celu zablokowania niepoprawnego uruchomienia indeksacji przez osoby trzecie
Jak dodać zadanie CRON na serwerze ?
Powyższe przykłady dodania zadań CRON są dla serwerów z systemem DirectAdmin, szczegółową instrukcję, jak i przykłady dla innych serwerów znajdą Państwo tutaj
Tutaj nie mamy jednoznacznej odpowiedzi, częstotliwość należy dostosować do wielkości katalogu, ilości kombinacji, grup klientów/walut i krajów - jeśli te opcje zostały włączone podczas indeksacji.
Dla większości sklepów do 10 000 produktów odpowiednim ustawieniem będzie uruchamianie zadania co 3 godziny.
Zalecamy, aby pierwszą indeksację wykonać ręcznie, poprzez skopiowanie linku do przeglądarki - na tej podstawie sprawdzenie ile razy należy uruchomić link aby zostały pobrane ceny dla 100% produktów.
Moduł przystosowany jest do indeksowania produktów w partiach, więc jeśli podczas jednego zapytania nie uda mu się zapisać wszystkich danych, kolejne informacje będą zbierane od ostatniego poprawnie zapisanego produktu.
Zadanie CRON również usunie historyczne dane, które nie będą już wykorzystywane przez moduł - ceny starsze niż 30 dni (o ile nie są zapisane jako najniższe ceny przed promocją).
W naszym rozwiązaniu wdrożyli 2 opcje zbierania cen, jedna wymagana przez dyrektywę omnibus - wyświetlenie najniższej ceny sprzed 30 dni przed wdrożeniem promocji. Druga opcja to wyświetlanie historii cen w formie wykresu, tabeli lub tekstu.
Informujący o najniższej cenie produktu w okresie 30 dni przed aktualną promocją, jest najważniejszą funkcjonalnością modułu - która umożliwia spełnienie wymagań dyrektywny Omnibus.
Dlatego postanowiliśmy lepiej opisać jak działa ta opcja oraz jakie warunki muszą być spełnione, żeby została wyświetlona.
Jakie warunki muszą być spełnione, aby moduł wyświetla informację o najniższej cenie przed promocją:
Warunki, przy jakich moduł zapisuje poprawnie cenę historyczną
Warunki, przy jakich zostanie wyświetlona historyczna cena na stronie produktu
Dodatkowo przy historii cen możesz wyświetlić tekst Tekst dla produktów z obecnie najniższą cen - który wyświetli się w przypadku jeśli produkt posiada najniższą cenę w ciągu ostatnich 30 dni - nie licząc ceny przed dodaniem promocji, jeśli jest to cena starsza niż 30 dni.
1. Produkt:
Data | Cena w PrestaShop | Cena przed promocją (moduł) | Historia cen (moduł) | Produkt z najniższą ceną (moduł) |
---|---|---|---|---|
1/1/2023 | 200 zł | - | - | - |
2/1/2023 | instalacja modułu + indeksacja | |||
2/1/2023 | 200 zł | - | TAK | 200 zł |
4/1/2023 | Dodanie promocji - 50zł | |||
4/1/2023 | 200 zł 150zł | Najniższa cena w ciągu 30 dni przed aktualną promocją:200 zł | TAK | Najniższa cena w ciągu ostatnich 30 dni: 150 zł |
14/2/2023 | 200 zł 150zł | Najniższa cena w ciągu 30 dni przed aktualną promocją:200 zł | TAK | Najniższa cena w ciągu ostatnich 30 dni: 150 zł |
Data | Cena w PrestaShop | Cena przed promocją (moduł) | Historia cen (moduł) | Produkt z najniższą ceną (moduł) |
---|---|---|---|---|
1/1/2023 | 200 zł | - | - | - |
2/1/2023 | instalacja modułu + indeksacja | |||
2/1/2023 | 200 zł | - | TAK | 200 zł |
4/1/2023 | Dodanie promocji - 50 zł brutto | |||
4/1/2023 | 200 zł 150 zł | Najniższa cena w ciągu 30 dni przed aktualną promocją: 200 zł | TAK | Najniższa cena w ciągu ostatnich 30 dni: 150 zł |
14/2/2023 | Zmiana promocji - 100 zł | |||
14/2/2023 | 200 zł 100 zł | Najniższa cena w ciągu 30 dni przed aktualną promocją: 150 zł | TAK | Najniższa cena w ciągu ostatnich 30 dni: 100 zł |
Data | Cena w PrestaShop | Cena przed promocją (moduł) | Historia cen (moduł) | Produkt z najniższą ceną (moduł) |
---|---|---|---|---|
1/1/2023 | 1500 zł 1000 zł | - | - | - |
2/1/2023 | instalacja modułu + indeksacja | |||
2/1/2023 | 1500 zł 1000 zł | - | TAK | Najniższa cena w ciągu ostatnich 30 dni: 1000 zł |
4/1/2023 | 1500 zł 1000 zł | - | TAK | Najniższa cena w ciągu ostatnich 30 dni: 1000 zł |
14/2/2023 | Zmiana ceny podstawowej na 1200 zł | |||
14/2/2023 | 1200 zł 700 zł | Najniższa cena w ciągu 30 dni przed aktualną promocją: 1000 zł | TAK | Najniższa cena w ciągu ostatnich 30 dni: 700 zł |
20/2/2023 | Zmiana promocji na - 800 zł | |||
28/2/2023 | 1200 zł 400 zł | Najniższa cena w ciągu 30 dni przed aktualną promocją: 700 zł | TAK | Najniższa cena w ciągu ostatnich 30 dni: 400 zł |
28/2/2023 | Usunięcie promocji | |||
3/3/2023 | 1200 zł | - | TAK | Najniższa cena w ciągu ostatnich 30 dni: 400 zł |
29/3/2023 | 1200 zł | - | TAK | Najniższa cena w ciągu ostatnich 30 dni: 1200 zł |
Moduł został tak przygotowany aby w jak najmniejszym stopniu wpływa na prędkość działania sklepu, jednak musisz mieć na uwadzę aby zebrać poprawnie wszystkie informacje o cenach musimy zapisać dużo informacji do bazy danych dla każdego produktu. Pomimo mocnej optymalizacji modułu, rozmiar bazy i prędkość indeksacji zależna jest od włączonych opcji konfiguracyjnych.
Dlatego bardzo ważne jest, abyś ustawił opcję, które realnie potrzebujesz zapisywać w swoim sklepie.
Opcja, która mocno zwiększa ilość wpisów w bazie danych a w większości sklepów nie jest wykorzystywana to ceny dla poszczególnych krajów - jeśli nie stosujesz różnych cen oraz rabatów według wybranego kraju nie włączaj tej opcji.
Jeśli wiesz, że wszyscy klienci posiadają takiej same ceny produktów oraz mają takie same rabaty, nie włączaj opcji Indeksuj cenę dla niestandardowych grup klientów.
Pamiętaj, że w momencie, w którym zmienisz ustawienia w swoim sklepie (np. zaczniesz sprzedawać produkty z kombinacjami w różnych cenach) musisz zmienić ustawienia w module.
Niestety nie ma możliwości wymuszenia cen przed promocją.
Moduł zbiera ceny od jego instalacji i poprawnej konfiguracji wraz z ustawieniem zadania CRON.
Oznacza to, że jeśli wcześniej miałeś w swoim sklepie promocję na produkt A, to moduł nie wyświetli informacji Najniższa cena w ciągu 30 dni przed aktualną promocją: XX zł, ponieważ nie ma w swojej historii różnej ceny od obecnej.
Musisz w takim przypadku zacząć od sprawdzenia, czy podczas edycji produktu w zakładce moduły (na produkcie) oraz naszym module widzisz historię cen lub najniższą cenę.
Jeśli tak, oznacza to, że moduł poprawnie indeksuje ceny - świetnie.
Prawdopodobnie problem w takim razie leży po stronie braku odpowiedniego hooka w szablonie - sprawdź tutaj jak powinien być dodany.