# Porównywarka Produktów: instalacja i konfiguracja

> Instalacja i konfiguracja modułu Porównywarka Produktów dla PrestaShop 8 i 9: automatyczne przyciski, pływający pasek, strona obok siebie, wyróżnienie najlepszej ceny i porównywane wiersze.

- Strona: <https://www.datafirefly.com/pl/documentation/dfcomparator/>
- Język: pl
- Zaktualizowano: 2026-07-31
- Inne języki: [fr](https://www.datafirefly.com/documentation/dfcomparator/index.md), [en](https://www.datafirefly.com/en/documentation/dfcomparator/index.md), [es](https://www.datafirefly.com/es/documentation/dfcomparator/index.md), [de](https://www.datafirefly.com/de/documentation/dfcomparator/index.md), [it](https://www.datafirefly.com/it/documentation/dfcomparator/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfcomparator/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfcomparator/index.md)
- Indeks: <https://www.datafirefly.com/pl/documentation/llms.txt>

## Prezentacja

Moduł **Porównywarka Produktów** (`dfcomparator`) dodaje do Twojego sklepu PrestaShop kompletną porównywarkę obok siebie. Przyciski „Porównaj” pojawiają się automatycznie na karcie produktu i na listach, a dedykowana strona ustawia wybrane produkty w kolumnach: cena, cechy, dostępność i pozostałe dane.

Porównywarka jest napisana w czystym JavaScript, bez jQuery i bez zewnętrznych zależności. Działa od razu po instalacji, bez dodatkowej konfiguracji.

## Kompatybilność

- PrestaShop 8.0 do 9.x
- Pojedynczy sklep i multistore
- 5 języków: FR, EN, ES, DE, IT
- Brak zależności (ani Composer, ani framework)

## Instalacja

1. W panelu administracyjnym otwórz **Moduły > Menedżer modułów**.
2. Kliknij **Zainstaluj moduł** i wybierz plik `dfcomparator.zip`.
3. Po instalacji kliknij **Konfiguruj**.

Moduł rejestruje swoje hooki automatycznie (`actionFrontControllerSetMedia`, `displayProductAdditionalInfo`, `displayFooter`) i tworzy własną tabelę przy instalacji. Odinstalowanie usuwa tę tabelę.

## Konfiguracja

### Ogólne

- **Maksymalna liczba produktów**: od 2 do 6 porównywanych kolumn (domyślnie 4).
- **Etykieta przycisku**: tekst wyświetlany na przycisku „Porównaj”.
- **Kolor akcentu**: kolor przycisków, odznak i wyróżnionych elementów.
- **Otwieraj w nowej karcie**: otwiera stronę porównania w osobnej karcie przeglądarki.

### Miejsca wyświetlania przycisków

- **Pokaż na karcie produktu**: dodaje przycisk na stronie produktu.
- **Pokaż na listach**: dodaje przycisk na miniaturach list (kategorie, wyszukiwanie).
- **Pływający pasek**: wyświetla trwały pasek porównania z miniaturami i licznikiem.

Na listach przyciski są ponownie wstrzykiwane automatycznie po każdym filtrowaniu Ajax (nawigacja fasetowa, paginacja, sortowanie).

### Strona porównania

- **Wyróżnienie najlepszej ceny**: wyróżnia kolumnę o najniższej cenie dedykowaną odznaką.
- **Wiersz ceny**: pokazuje lub ukrywa wiersz z ceną.
- **Przycisk dodania do koszyka**: dodaje przycisk koszyka w każdej kolumnie.
- **Przypięte kolumny (sticky)**: przypina nagłówek i pierwszą kolumnę podczas przewijania.
- **Domyślnie tylko różnice**: od razu włącza ukrywanie identycznych wierszy.

### Porównywane wiersze

Każdy wiersz można włączyć lub wyłączyć osobno: indeks, marka, stan, dostępność, waga, wymiary i krótki opis. Cechy produktu (Features w PrestaShop) są dodawane automatycznie, po jednym wierszu na cechę, w kolejności zdefiniowanej w katalogu. Wiersz jest oznaczany jako identyczny, gdy jego wartość jest taka sama we wszystkich porównywanych produktach.

## Działanie i trwałość wyboru

Wybór jest przechowywany po stronie klienta przez token przeglądarki (ciasteczko `dfcmp_token`) z kopią w `localStorage` dla natychmiastowego renderowania. Dla zalogowanego klienta wybory dokonane na kilku urządzeniach są scalane. Link do udostępnienia oparty na identyfikatorach produktów (`?ids=...`) pozwala wysłać lub później odtworzyć porównanie.

## Wydajność

Moduł ładuje swoje skrypty tylko wtedy, gdy są potrzebne, i wykonuje zapytanie Ajax wyłącznie przy konkretnej akcji (dodanie, usunięcie, otwarcie). Początkowe renderowanie paska opiera się na pamięci lokalnej, bez oczekiwania na serwer.

## FAQ i rozwiązywanie problemów

### Przycisk „Porównaj” się nie pojawia

Sprawdź, czy wyświetlanie na karcie produktu i na listach jest włączone w konfiguracji, a następnie wyczyść pamięć podręczną PrestaShop (**Ustawienia zaawansowane > Wydajność**). W mocno zmodyfikowanym motywie przycisk na listach wstawia się w miniaturę produktu: upewnij się, że motyw udostępnia identyfikator produktu na miniaturze.

### Pływający pasek pozostaje pusty

Pasek pojawia się dopiero po dodaniu co najmniej jednego produktu do porównania. Sprawdź również, czy opcja „Pływający pasek” jest aktywna.

### Najlepsza cena nie jest wyróżniana

Włącz opcje „Wyróżnienie najlepszej ceny” oraz „Wiersz ceny”. Wyróżnienie porównuje wyświetlane ceny końcowe brutto produktów objętych porównaniem.
