Preishistorie

    Preisentwicklung transparent auf der Produktseite anzeigen

    Ü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

  1. Shopware 6.7 oder höher
  2. PHP 8.1 oder höher
  3. MySQL 8.0 oder höher
  4. Installation

  5. 1.Plugin über den Shopware Plugin-Manager installieren oder manuell in custom/plugins/BcPriceHistory ablegen
  6. 2.Plugin im Plugin-Manager aktivieren
  7. 3.Cache leeren:
  8. php bin/console cache:clear
  9. 4.Die Datenbank-Migration für die bc_price_history-Tabelle wird automatisch ausgeführt.
  10. 5.Der Scheduled Task für die tägliche Bereinigung wird automatisch registriert.
  11. Konfiguration

    Die Plugin-Konfiguration befindet sich unter Erweiterungen > Meine Erweiterungen > BC Preishistorie > Konfiguration (config.xml).

    Allgemein:

  12. **Plugin aktiv** (`BcPriceHistory.config.active`, Typ: `bool`, Standard: `true`): Globaler Schalter -- wenn deaktiviert, werden keine Preisänderungen erfasst und kein Diagramm angezeigt.
  13. **Preisverlauf-Diagramm anzeigen** (`BcPriceHistory.config.showChart`, Typ: `bool`, Standard: `true`): Zeigt das Preisverlaufs-Diagramm auf der Produktdetailseite an. Die Preiserfassung läuft unabhängig davon weiter.
  14. 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:

  15. **`ProductEvents::PRODUCT_WRITTEN_EVENT`** (`ProductWriteSubscriber`) -- Erfasst Preisänderungen bei Produktaktualisierungen.
  16. **`ProductPageLoadedEvent`** (`ProductPageSubscriber`) -- Stellt Preisverlaufsdaten auf der Produktdetailseite bereit.
  17. Textbausteine (Snippets)

    Storefront-Snippets (src/Resources/snippet/de_DE/bc-price-history.de-DE.json):

  18. `bc-price-history.chart.title` -- "Preisverlauf"
  19. `bc-price-history.chart.subtitle` -- "Preisentwicklung der letzten 6 Monate"
  20. `bc-price-history.chart.noData` -- "Für dieses Produkt liegen noch keine Preisverlaufsdaten vor."
  21. Verfügbar in DE und EN.

    Scheduled Tasks

  22. **`bc_price_history.cleanup`** (`BcPriceHistory\ScheduledTask\PriceHistoryCleanupTask`): Wird täglich ausgeführt (Intervall: 86400 Sekunden / 24 Stunden). Bereinigt veraltete Preisverlaufseinträge. Der zugehörige Handler ist `PriceHistoryCleanupTaskHandler`.
  23. 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:

  24. `Migration1743868800CreatePriceHistoryTable`
  25. 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:

    Template:

  26. `src/Resources/views/storefront/page/content/product-detail.html.twig` -- Preisverlauf-Chart auf der Produktdetailseite
  27. JavaScript-Plugin:

  28. `BcPriceHistoryChartPlugin` (`src/Resources/app/storefront/src/js/plugin/bc-price-history-chart.plugin.js`) -- Rendert das interaktive Preisverlaufs-Diagramm
  29. Kompiliertes JS:

  30. `src/Resources/app/storefront/dist/storefront/js/bc-price-history/bc-price-history.js`
  31. Kompatibilität

  32. Kompatibel mit allen anderen Plugins der Bronner B2B Suite
  33. Kompatibel mit Standard-Shopware-Themes
  34. Kompatibel mit Staffelpreisen und kundenspezifischen Preisen
  35. Getestet mit Shopware 6.7.x
  36. Unterstützt Multi-Sales-Channel
  37. FAQ