Überblick
Das Plugin erfasst automatisch die Preisentwicklung aller Produkte und zeigt den Verlauf als interaktives Diagramm auf der Produktdetailseite an. Der Kunde sieht transparent, wie sich der Preis über die letzten 6 Monate entwickelt hat.
Die Preiserfassung erfolgt über einen Subscriber auf Produktänderungen und einen täglichen Cleanup-Task für veraltete Einträge.
Systemvoraussetzungen
Installation
custom/plugins/BcPriceHistory ablegenphp bin/console cache:clearbc_price_history-Tabelle wird automatisch ausgeführt.Konfiguration
Die Plugin-Konfiguration befindet sich unter Erweiterungen > Meine Erweiterungen > BC Preishistorie > Konfiguration (config.xml).
Allgemein:
Funktionen
Automatische Preiserfassung
Der ProductWriteSubscriber reagiert auf das ProductEvents::PRODUCT_WRITTEN_EVENT und erfasst Preisänderungen als bc_price_history-Einträge über den PriceHistoryService.
Preishistorie-Chart
Der ProductPageSubscriber reagiert auf das ProductPageLoadedEvent und stellt die Preisverlaufsdaten für das Twig-Template bereit. Das interaktive Diagramm wird über das JavaScript-Plugin BcPriceHistoryChartPlugin gerendert.
Daten-Bereinigung
Der PriceHistoryCleanupTask läuft täglich und entfernt veraltete Einträge. Der PriceHistoryCleanupTaskHandler führt die eigentliche Bereinigung durch.
Events & Hooks
Das Plugin verwendet keine eigenen Event-Klassen. Es reagiert auf folgende Shopware-Events über Subscriber:
Textbausteine (Snippets)
Storefront-Snippets (src/Resources/snippet/de_DE/bc-price-history.de-DE.json):
Verfügbar in DE und EN.
Scheduled Tasks
Datenbank-Tabellen
Das Plugin erstellt folgende Datenbank-Tabelle über 1 Migration:
| Tabelle | Entity-Name | Beschreibung |
|---|---|---|
| bc_price_history | bc_price_history | Preisverlaufseinträge mit Produktreferenz, Preis und Zeitstempel |
Migration:
Admin-Integration
Die Konfiguration erfolgt über die Standard-Plugin-Konfiguration. Es gibt kein separates Admin-Modul.
Der Scheduled Task ist unter Einstellungen > System > Geplante Aufgaben als bc_price_history.cleanup sichtbar und kann manuell ausgelöst werden.
Storefront-Integration
Das Plugin erweitert die Produktdetailseite: