Filtry Fasetowe AJAX do PrestaShop: dokumentacja
Instalacja, konfiguracja i eksploatacja nawigacji fasetowej AJAX: fasety, suwak cen, SEO filtrowanych adresów URL, ograniczanie do kategorii, cache i statystyki.
Ten przewodnik obejmuje instalację, konfigurację i eksploatację modułu Filtry Fasetowe AJAX dla PrestaShop 8 i 9. Moduł zastępuje natywne wyszukiwanie fasetowe szybszą nawigacją AJAX, suwakiem cen z histogramem i precyzyjną kontrolą indeksowania SEO stron filtrowanych.
Instalacja
W panelu administracyjnym otwórz Moduły > Menedżer modułów, kliknij Zainstaluj moduł i wskaż plik dffacetedfilter.zip. Podczas instalacji moduł automatycznie wykonuje trzy działania:
- tworzy swoje tabele i zakładkę administracyjną;
- przeprowadza pierwszą synchronizację faset na podstawie katalogu;
- wstępnie rozgrzewa indeks cen (w granicach kilku sekund).
Moduł ustawia się priorytetowo na hooku productSearchProvider, aby wyprzedzić natywne wyszukiwanie fasetowe PrestaShop. Żaden plik Twojego motywu nie jest nadpisywany.
Pierwsza konfiguracja
Przejdź do Katalog > Filtry fasetowe. Znajdziesz tam listę faset, panel podsumowania oraz ustawienia ogólne i SEO.
Synchronizacja faset
Przycisk Synchronizuj z katalogu automatycznie tworzy brakujące fasety na podstawie grup atrybutów, cech oraz faset wbudowanych (cena, marka, promocje, dostępność, stan). Istniejące fasety nigdy nie są modyfikowane: możesz bez ryzyka ponowić synchronizację po dodaniu atrybutu lub cechy.
Przebudowa indeksu cen
Przycisk Przebuduj indeks cen przelicza granice cenowe wszystkich produktów, partiami, z paskiem postępu. Uruchom go po instalacji, a potem po każdym masowym imporcie produktów.
Zarządzanie fasetami
Każdy wiersz listy można przestawić metodą przeciągnij i upuść (kolejność definiuje porządek wyświetlania w sklepie oraz znormalizowany porządek adresów URL), włączyć lub wyłączyć oraz edytować.
Opcje fasety
- Etykieta: wyświetlana nazwa, tłumaczona per język.
- Wyświetlanie: pola wyboru, plakietki koloru / tekstury albo proste linki. Grupy kolorów automatycznie dziedziczą wyświetlanie w formie plakietek.
- Wielokrotny wybór: pozwala zaznaczyć jednocześnie kilka wartości tej samej fasety, łączonych operatorem LUB.
- Pokaż liczniki: wyświetla liczbę produktów obok każdej wartości.
- Ukryj puste wartości: chowa wartości z zerową liczbą produktów zamiast pokazywać je wyszarzone.
- Domyślnie zwinięta: faseta wyświetla się zamknięta, użytkownik rozwija ją kliknięciem.
- Wartości przed „Pokaż więcej”: liczba wartości widocznych przed przyciskiem rozwinięcia (0 = pokaż wszystko).
Stosowane jest liczenie rozłączne: każda faseta jest liczona z uwzględnieniem wszystkich pozostałych zaznaczeń, ale nie własnego. Wybranie „Czerwony” nigdy więc nie zeruje „Niebieskiego” w tej samej fasecie.
Suwak cen i jego indeks
Faseta Cena wyświetla się jako podwójny suwak. Nad nim histogram rozkładu produktów na dwanaście przedziałów pomaga użytkownikowi zorientować się w cenach. Dane pochodzą z dedykowanego indeksu cen, odrębnego od tabel PrestaShop, aby pozostać szybkim nawet na dużym katalogu.
Utrzymanie indeksu
Indeks jest aktualizowany w czasie rzeczywistym przez hooki, gdy zmienia się produkt, cena specyficzna lub wariant. Do zaplanowanej pełnej przebudowy użyj endpointu cron widocznego w panelu:
/module/dffacetedfilter/cron?token=TWOJ_TOKEN
Wywołanie przetwarza indeks porcjami z limitem czasu około 20 sekund; jeśli zostały produkty, odpowiedź podaje adres kontynuacji do ponownego wywołania. W większości przypadków wystarcza jedno nocne wywołanie dziennie.
Ustawienie Filtruj ceny brutto decyduje, czy suwak operuje na cenach z podatkiem, czy netto. Indeks przechowuje ceny w walucie domyślnej; wyświetlanie jest przeliczane na walutę bieżącą.
Faseta Promocje
Faseta W promocji filtruje produkty aktualnie przecenione: oznaczone „na wyprzedaży” lub objęte aktywną ceną specyficzną (trwająca obniżka, w zakresie dat, dla bieżącej waluty, kraju i grupy). Podczas synchronizacji jest tworzona jako włączona domyślnie.
Dostępność i stan
Dwie uzupełniające fasety wbudowane są tworzone jako wyłączone, do aktywacji według potrzeb:
- Dostępność: wartość „W magazynie”, uwzględniająca ustawienie zamawiania przy braku towaru.
- Stan: nowy, używany, odnowiony.
Ograniczenie fasety do kategorii
Domyślnie faseta wyświetla się na wszystkich stronach listingu. W formularzu edycji sekcja Ogranicz do kategorii pozwala zaznaczyć jedną lub kilka kategorii: faseta pojawi się wtedy tylko w tych kategoriach i ich podkategoriach.
To dobry sposób na utrzymanie sensownego menu filtrów w niejednorodnym katalogu: pokaż „Rozmiar obuwia” tylko w Butach, a „Przekątną ekranu” tylko w Elektronice. Pozostaw wszystko odznaczone dla fasety globalnej.
SEO faset
To jedna z najmocniejszych stron modułu: to Ty precyzyjnie decydujesz, które strony filtrowane mogą być indeksowane. Adresy filtrów są czytelne i mają format:
/kategoria?dff=kolor:czerwony,granatowy/cena:10,50/marka:nike
Fasety rozdzielane są ukośnikiem, slug fasety od jej wartości dwukropkiem, a wartości między sobą przecinkiem. Kolejność faset i sortowanie wartości są znormalizowane, aby ta sama kombinacja zawsze dawała jeden kanoniczny adres URL.
Ustawienia SEO
- Indeksowalna (per faseta): faseta nieindeksowalna wymusza na filtrowanej stronie
noindex, followi dodajerel="nofollow"na jej linkach. - Maksymalna liczba indeksowalnych wartości: powyżej tego progu zaznaczonych wartości strona przechodzi w
noindex, follow. Wartość 1 jest najbezpieczniejsza wobec eksplozji budżetu indeksowania. - Automatyczny canonical na stronach indeksowalnych: strony indeksowalne otrzymują znacznik canonical wskazujący ich własny znormalizowany adres filtra. Canonical motywu jest usuwany po stronie sklepu, aby uniknąć duplikatów.
- Wszystko w noindex: wymusza
noindex, followna wszystkich stronach filtrowanych, niezależnie od ustawień per faseta.
Strona filtrowana jest również przełączana w noindex, follow, gdy obecny jest parametr sortowania, ponieważ stanowi duplikat strony w jej domyślnym porządku.
Tryby AJAX
Ustawienie Tryb AJAX decyduje, jak strona odświeża się po kliknięciu filtra:
- Motyw (zdarzenia natywne), tryb zalecany: moduł emituje natywne zdarzenie PrestaShop i pozostawia rdzeniowi oraz motywowi odświeżenie listy, faset i historii przeglądarki. To tryb najbardziej zgodny z motywami opartymi na classic.
- Samodzielny: dla motywów niestandardowych moduł sam pobiera stronę przez AJAX i podmienia odpowiednie bloki. Używaj tylko wtedy, gdy tryb Motyw nie odświeża strony poprawnie.
Cache liczników
Obliczanie liczników rozłącznych może być kosztowne na dużym katalogu. Moduł buforuje ich wynik na krótki, konfigurowalny czas (domyślnie 300 sekund). Cache jest unieważniany automatycznie przy każdej zmianie katalogu i każdej modyfikacji fasety. W panelu dostępny jest przycisk Wyczyść cache liczników.
Statystyki użycia
Panel na górze strony administracyjnej podsumowuje aktywność ostatnich 30 dni: zindeksowane produkty, liczbę wyświetleń stron filtrowanych, udział budżetu indeksowania utrzymanego poza indeksem (strony filtrowane serwowane z noindex) oraz ranking najczęściej używanych faset. Rejestrowanie statystyk możesz wyłączyć w ustawieniach wydajności.
Obsługiwane strony
Fasety działają na stronach kategorii, marki, dostawcy, nowości, bestsellerów, promocji i wyników wyszukiwania (z poszanowaniem natywnego rankingu PrestaShop). Faseta Marka jest automatycznie ukrywana na stronie marki, a faseta ograniczenia do kategorii na stronie wyszukiwania.
Wyłączenie natywnego wyszukiwania fasetowego
Moduł ma priorytet nad ps_facetedsearch, ale zalecamy wyłączenie tego ostatniego, aby uniknąć podwójnej pracy indeksowania. Jeśli pozostaje aktywny, ostrzeżenie przypomina o tym w panelu.
Rozwiązywanie problemów
- Fasety się nie pojawiają: uruchom synchronizację, sprawdź, czy co najmniej jedna faseta jest aktywna i czy jesteś na obsługiwanej stronie listingu.
- Brak suwaka cen: przebuduj indeks cen; faseta Cena pozostaje ukryta, dopóki indeks jest pusty dla wyświetlanej kategorii.
- Strona nie odświeża się przez AJAX: przełącz tryb AJAX na „Samodzielny”, jeśli Twój motyw nie trzyma się standardu PrestaShop.
- Za dużo zindeksowanych stron: obniż maksymalną liczbę indeksowalnych wartości, ustaw jako nieindeksowalne fasety o wysokiej kardynalności (kolor, rozmiar) albo włącz „Wszystko w noindex” na czas odzyskania kontroli.
Kod źródłowy jest dostarczany bez szyfrowania. Otrzymujesz 12 miesięcy aktualizacji zgodności i wsparcie z odpowiedzią do 24 h.