Ü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

WerkzeugEmpfehlung
PHP8.1 oder neuer
Composeraktuell
Shopware 6lauffähiges Dev-Setup
DatenbankMySQL/MariaDB

Plugin, App oder Theme?

Shopware kennt drei Erweiterungswege – diese Doku behandelt Plugins:

PluginAppTheme
Läuft alsPHP im Coreentkoppelt (Manifest/API)Storefront-Gestaltung
Eigener PHP-Code im Corejanein
Cloud-fähig (SaaS)neinjaja
WofürCore-Logik, eigene ServicesIntegration, Cloud, entkoppeltAussehen 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.