Jak dodać dynamiczne filtry ceny w ramkach rekomendacji?

Dowiedz się, jak po pobraniu snippetu ramki rekomendacji, dodać pola do skryptu aby przekazywać dynamiczne wartości filtrów dotyczące ceny.

Przykład oparty o snippet:

<div id="_qS_7ou" class="qONjs"></div>

Do dyspozycji masz 4 parametry określające odpowiednio: 

Parametr Funkcja
data-filterpricemin
Określa minimalną wartość ceny produktu wyświetlanego w ramce.
data-filterpricemax
Określa maksymalną wartość ceny produktu wyświetlanego w ramce.
data-filterpercentpricemin
Określa minimalną procentową wartość ceny produktu wyświetlanego w ramce w stosunku do agregowanej ceny.
data-filterpercentpricemax
Określa maksymalną procentową wartość ceny produktu wyświetlanego w ramce w stosunku do agregowanej ceny.

Wartość agregowana jest liczona różnie w zależności od logiki ramki:

  • W przypadku listy produktów jest to średnia cena produktów.
  • W przypadku ramki dla użytkownika jest to agregat cen z historii użytkownika.

Przykładowy snippet z filtrem:

<div id="_qS_7ou" data-filterpricemin="16.3" data-filterpricemax="200" data-filterpercpricemin="14" data-filterpercpricemax="80" class="qONjs"></div>

Wartości przyjmowane są wyłącznie z kropką, każdy z parametrów sprawdzany jest funkcją is_numeric i dopiero jeżeli jest liczbą rzeczywistą jest brany pod uwagę.

Użycie któregokolwiek z wyżej wymienionych parametrów nadpisze filtry cenowe ustawione dla tego parametru w logice w ramce rekomendacji (zostaje jedynie filtr tzw. globalny – na poziomie ustawień klienta).

Wpięcie snippetu z parametrami ze snippetu 2 (w przypadku logiki ramki rekomendacji do produktu o wartości 100 PLN) przekaże do generowania listy produktów:

  • filtr mówiący o tym że cena minimalna nie może być mniejsza niż 16,3,
  • cena maksymalna nie może być większa niż 200,
  • cena minimalna to jest minimum 14% ze 100 czyli 14,
  • cena maksymalna jest max 80% ze 100 czyli 80.

Podsumowując powyższe wywołanie wygeneruje produkty z zakresu cen od 16,3 do 80.

Przykład użycia:

Ramka na stronie koszyka „Dobierz do darmowej dostawy” (wyświetlająca produkty nie tańsze niż kwota brakująca do osiągnięcia darmowej dostawy).

Próg darmowej dostawy w sklepie to np. 150zł. Aby wyświetlić produkty nie tańsze niż wartość brakująca do darmowej dostawy należy przygotować funkcję, która zsumuje ceny produktów znajdujących się w koszyku (10zł + 15zł + 25zł = 50zł) i odejmie tę kwotę od progu darmowej dostawy (150zł - 50zł = 100zł). Otrzymamy w ten sposób kwotę brakującą do darmowej dostawy, którą należy przekazać do atrybutu data-filterpricemin.


Jeśli chcesz dodatkowo ograniczyć wyświetlanie produktów znacznie droższych niż brakująca kwota możesz użyć atrybutu data-filterpricemax przekazując do niego np. wartość progu darmowej dostawy (opcjonalnie).

Tak przygotowana ramka wyglądałaby następująco:

<div id="123abc" data-filterpricemin="100" data-filterpricemax="150" class="qONjs"></div>

Aby zablokować wyświetlanie ramki gdy klient dobierze już produkty i osiągnie próg darmowej dostawy, należy przygotować funkcję, która zsumuje ceny wszystkich produktów w koszyku i jeśli są równe lub wyższe niż próg darmowej dostawy usunie ramkę ze strony (lub zablokuje dodawanie snippetu w przypadku gdy strona przeładowuje się po każdym dodaniu produktu do koszyka).

Kiedy warto wykorzystać funkcjonalność „dynamiczne filtry cenowe” ?

  • Na stronie koszyka umieszczona jest ramka – „Do darmowej dostawy brakuje X, dobierz produkty:...”.
  • Na karcie produktu, na pop-upie wyjścia, umieszczona jest ramka z produktami podobnymi promująca tańsze odpowiedniki. 
  • Wzmacniaj cross-selling pokazując produkty o relatywnie niskiej wartości.