Produktvergleich-Modul — Installation und Konfiguration
Installation, Konfiguration und Funktionsweise des Produktvergleich-Moduls.
Übersicht
Das Modul Produktvergleich (dfcomparator) fügt Ihrem PrestaShop-Shop einen vollständigen Vergleich nebeneinander hinzu. „Vergleichen“-Buttons erscheinen automatisch auf der Produktseite und in den Listen, und eine eigene Seite stellt die ausgewählten Produkte in Spalten gegenüber: Preis, Merkmale, Verfügbarkeit usw.
Der Vergleich ist in Vanilla-JavaScript geschrieben, ohne jQuery oder externe Abhängigkeit. Er funktioniert direkt nach der Installation, ohne zusätzliche Konfiguration.
Kompatibilität
- PrestaShop 8.0 bis 9.x
- Einzel- und Multistore
- 5 Sprachen: FR, EN, ES, DE, IT
- Keine Abhängigkeit (weder Composer noch Framework)
Installation
- Öffnen Sie im Back-Office Module > Modul-Manager.
- Klicken Sie auf Modul hochladen und wählen Sie die Datei
dfcomparator.zip. - Klicken Sie nach der Installation auf Konfigurieren.
Das Modul registriert automatisch seine Hooks (actionFrontControllerSetMedia, displayProductAdditionalInfo, displayFooter) und legt seine Speichertabelle bei der Installation an. Die Deinstallation entfernt diese Tabelle.
Konfiguration
Allgemein
- Maximale Anzahl Produkte: von 2 bis 6 vergleichbare Spalten (4 standardmäßig).
- Button-Beschriftung: Text auf dem „Vergleichen“-Button.
- Akzentfarbe: Farbe der Buttons, Abzeichen und hervorgehobenen Elemente.
- In neuem Tab öffnen: öffnet die Vergleichsseite in einem separaten Tab.
Button-Platzierungen
- Auf der Produktseite anzeigen: fügt den Button auf der Produktseite hinzu.
- In Listen anzeigen: fügt den Button auf den Listen-Vorschaubildern hinzu (Kategorien, Suche).
- Schwebende Leiste: zeigt die dauerhafte Vergleichsleiste mit Vorschaubildern und Zähler.
In Listen werden die Buttons nach jeder Ajax-Filterung automatisch erneut eingefügt (Facettennavigation, Seitenwechsel, Sortierung).
Vergleichsseite
- Best-Preis-Hervorhebung: hebt die Spalte mit dem niedrigsten Preis mit einem Abzeichen hervor.
- Preiszeile: blendet die Preiszeile ein oder aus.
- In-den-Warenkorb-Button: fügt einen Warenkorb-Button in jeder Spalte hinzu.
- Fixierte Spalten (sticky): fixiert die Kopfzeile und die erste Spalte beim Scrollen.
- Standardmäßig nur Unterschiede: blendet identische Zeilen von Anfang an aus.
Verglichene Zeilen
Jede Zeile kann einzeln aktiviert oder deaktiviert werden: Referenz, Marke, Zustand, Verfügbarkeit, Gewicht, Abmessungen und Kurzbeschreibung. Die Produktmerkmale (PrestaShop „Features“) werden automatisch hinzugefügt, eine Zeile pro Merkmal, in der im Katalog definierten Reihenfolge. Eine Zeile wird als „identisch“ markiert, wenn ihr Wert bei allen verglichenen Produkten gleich ist.
Funktionsweise und Persistenz
Die Auswahl wird clientseitig über ein Browser-Token (Cookie dfcmp_token) mit einem localStorage-Spiegel für sofortiges Rendering gespeichert. Für einen angemeldeten Kunden werden auf mehreren Geräten getroffene Auswahlen zusammengeführt. Eine teilbare URL (über Produkt-IDs, ?ids=...) ermöglicht es, einen Vergleich zu senden oder wiederzufinden.
Leistung
Das Modul lädt seine Skripte nur bei Bedarf und führt einen Ajax-Aufruf nur bei einer Aktion aus (Hinzufügen, Entfernen, Öffnen). Das anfängliche Rendering der Leiste stützt sich auf den lokalen Cache, ohne auf den Server zu warten.
FAQ und Fehlerbehebung
Der „Vergleichen“-Button erscheint nicht
Prüfen Sie, dass die Anzeige auf Produktseite / in Listen in der Konfiguration aktiviert ist, und leeren Sie dann den PrestaShop-Cache (Erweiterte Parameter > Leistung). Bei einem stark angepassten Theme wird der Listen-Button in das Produkt-Vorschaubild eingefügt: stellen Sie sicher, dass das Theme die Produkt-ID am Vorschaubild bereitstellt.
Die schwebende Leiste bleibt leer
Die Leiste erscheint erst, wenn mindestens ein Produkt zum Vergleich hinzugefügt wurde. Prüfen Sie auch, dass die Option „Schwebende Leiste“ aktiviert ist.
Der beste Preis wird nicht hervorgehoben
Aktivieren Sie die Optionen „Best-Preis-Hervorhebung“ und „Preiszeile“. Die Hervorhebung vergleicht die angezeigten Endpreise inkl. Steuern der Produkte.