Überblick
Worum es geht
Diese Dokumentation ist ein praxisnaher Einstieg in die Plugin-Entwicklung für Shopware 6 – von der Struktur über Services und Events bis zum Storefront. Ziel ist ein solides Fundament, kein vollständiges Handbuch.
Was ist ein Plugin?
Shopware 6 basiert auf Symfony (Backend) und Vue.js (Administration). Ein Plugin ist im Kern ein Symfony-Bundle, das sich in dieses System einklinkt und mit PHP-Code direkt im Shop-Prozess läuft. Damit stehen der volle Service-Container, die Datenbank über die DAL und alle Framework-Mechanismen zur Verfügung.
Was ein Plugin kann
- Services & Logik über Dependency Injection registrieren
- auf Events reagieren (Subscriber)
- eigene Daten modellieren (Entities über die DAL)
- die Storefront per Twig, JavaScript und SCSS anpassen
- die Administration erweitern
- CLI-Commands und Migrationen bereitstellen
Voraussetzungen
| Werkzeug | Empfehlung |
|---|---|
| PHP | 8.1 oder neuer |
| Composer | aktuell |
| Shopware 6 | lauffähiges Dev-Setup |
| Datenbank | MySQL/MariaDB |
Plugin, App oder Theme?
Shopware kennt drei Erweiterungswege – diese Doku behandelt Plugins:
| Plugin | App | Theme | |
|---|---|---|---|
| Läuft als | PHP im Core | entkoppelt (Manifest/API) | Storefront-Gestaltung |
| Eigener PHP-Code im Core | ja | nein | – |
| Cloud-fähig (SaaS) | nein | ja | ja |
| Wofür | Core-Logik, eigene Services | Integration, Cloud, entkoppelt | Aussehen der Storefront |
Faustregel: Core-Logik und eigene Services → Plugin. Für die anderen Wege siehe die App-Doku und die Theme-Doku.
Der rote Faden
Die folgenden Seiten bauen aufeinander auf: zuerst die Struktur eines Plugins und sein Lebenszyklus, dann das Erweitern über Services, Events und Konfiguration, schließlich die Storefront und ein Blick auf eigene Daten.