Zum Inhalt springen
Zurück zum Shopware Wiki
Technik

Shopware Plugins: Wie das Erweiterungssystem funktioniert

Shopware-Plugins und Apps erklärt: wie das Erweiterungssystem aufgebaut ist, welcher Typ wann passt und worauf du beim Einsatz achten solltest.

6 Min. Lesezeit

Shopware 6 lässt sich ohne Kernänderungen tiefgreifend erweitern. Das Erweiterungssystem ist einer der technischen Hauptgründe, warum Händler mittlerer und größerer Größe das System wählen. Aber der Begriff “Plugin” ist inzwischen unscharf geworden, denn Shopware unterscheidet seit einigen Jahren zwischen klassischen Plugins, Apps und Symfony-Bundles. Wer diese Typen verwechselt, kauft das Falsche oder baut auf der falschen Grundlage.

Warum Shopware erweiterbar ist, ohne den Kern anzufassen

Shopware 6 baut auf dem PHP-Framework Symfony auf. Das bedeutet: Der gesamte Shop-Kern ist als Symfony-Anwendung organisiert. Erweiterungen klinken sich über definierte Einstiegspunkte in den Kern ein, ohne Quellcode zu überschreiben. Das nennt man Dependency Injection, Events und Dekoratoren.

Das Ergebnis für dich: Ein Update des Shopware-Kerns bricht in der Regel keine gut geschriebene Erweiterung. Schlecht geschriebene Plugins, die Kern-Klassen direkt überschreiben statt zu erweitern, sind ein anderes Thema. Darum lohnt es sich, beim Kauf von Drittanbieterplugins genau hinzuschauen.

Plugin vs. App: der wichtigste Unterschied

Seit Shopware 6.4 gibt es offiziell zwei Erweiterungstypen mit grundlegend verschiedener Architektur.

Plugins sind Symfony-Bundles mit Shopware-spezifischen Metadaten. Sie laufen direkt auf dem Server, können tief in den Kern eingreifen, eigene Entities anlegen, Migrations ausführen, Twig-Templates erweitern und PHP-Klassen dekorieren. Plugins funktionieren nur auf selbst gehostetem Shopware.

Apps laufen extern. Sie kommunizieren über eine webhook-basierte API mit dem Shop und haben keinen direkten Zugriff auf den Shopware-Server. Apps funktionieren deshalb sowohl mit selbst gehostetem Shopware als auch in der Shopware Cloud. Im Gegenzug sind ihre technischen Möglichkeiten begrenzter, insbesondere bei komplexen PHP-seitigen Eingriffen.

Für die meisten B2B- und Mittelstandshändler, die selbst hosten, sind klassische Plugins nach wie vor der mächtigere Weg. Wer eine Cloud-Instanz betreibt oder plant, kommt an Apps nicht vorbei.

Die technische Struktur eines Plugins

Ein Shopware-Plugin besteht im Kern aus drei Pflichtbestandteilen:

  • einer composer.json, die Shopware mitteilt, dass das Paket existiert, das PSR-4-Autoloading konfiguriert und Metadaten wie Name, Version, Kompatibilitätsgrenzen und Autor enthält
  • einer PHP-Einstiegsklasse, die Plugin erweitert, mit Methoden für Installation, Update und Deinstallation
  • einer services.xml, die eigene Service-Klassen und Subscriber im Symfony-Container registriert (optional, aber bei den meisten Plugins vorhanden)

Darüber hinaus kann ein Plugin beliebig viele der folgenden Bestandteile enthalten: eigene Datenbanktabellen über Migrations, neue Service-Klassen und Dekoratoren über die Symfony-Konfiguration, Admin-Komponenten in Vue.js, Storefront-Erweiterungen in Twig und SCSS sowie eigene CLI-Kommandos.

Dieses Zusammenspiel aus Standard-PHP und Symfony-Konventionen bedeutet: Ein PHP-Entwickler, der Symfony kennt, findet sich in der Shopware-Plugin-Entwicklung vergleichsweise schnell zurecht.

Der Shopware Store und eigene Plugins

Im offiziellen Shopware Store gibt es tausende Erweiterungen von Drittanbietern. Seit Shopware das Lizenzmodell geändert hat, sind bezahlte Plugins im Store überwiegend als Mietmodell mit monatlicher oder jährlicher Abrechnung erhältlich, Einmalkauf-Lizenzen sind die Ausnahme geworden.

Das hat praktische Konsequenzen: Wenn du zehn Store-Plugins im Einsatz hast und das Abo kündigst, verlierst du den Zugang zu Updates und in manchen Fällen zur Nutzung selbst. Planst du ein größeres Migrations- oder Umbau-Projekt, rechne diese laufenden Kosten fest ein.

Daneben gibt es eigene Plugins, die eine Agentur direkt für dich entwickelt. Diese liegen außerhalb des Stores, du bezahlst einmalig für die Entwicklung und bist nicht an Abo-Konditionen gebunden. Für spezifische Anforderungen, die kein Standardplugin abdeckt, ist das oft der wirtschaftlichere Weg. Wie du entscheidest, wann ein Standardplugin reicht und wann ein individuelles sinnvoll ist, erklärt der Artikel Shopware-Plugin-Auswahl 2026 ausführlicher.

Wir bei BuI Hinsche haben über 500 eigene Plugins entwickelt, davon sind mehr als 80 im offiziellen Shopware Store veröffentlicht. Auf der Übersicht unserer Plugins findest du, was bereits fertig verfügbar ist.

Wie Plugins installiert und verwaltet werden

In der Shopware-Administration findest du unter “Erweiterungen” den Bereich “Meine Erweiterungen”. Dort siehst du, welche Plugins installiert sind, welche Updates vorliegen und welche deaktiviert sind. Plugins aus dem Store werden direkt über diese Oberfläche bezogen.

Für eigene oder per Composer eingebundene Plugins gibt es zwei Wege: Entweder lädst du das Plugin-Verzeichnis manuell auf den Server und führst bin/console plugin:refresh aus, oder du bindest es als Composer-Abhängigkeit ein. Der Composer-Weg ist der professionellere, weil Versionierung und Deployment dann sauber und wiederholbar ablaufen.

Nach der Installation muss ein Plugin aktiviert werden. Erst dann wird es vom Shopware-Kernel geladen. Beim Aktivieren einer neuen Version prüft Shopware, ob Datenbankmigrationen ausgeführt werden müssen, und erledigt das automatisch.

Ein wichtiger Hinweis aus der Praxis: Aktiviere nie Plugins auf einem Produktivsystem ohne vorherigen Test auf einer Staging-Umgebung. Ein schlecht geschriebenes Plugin kann die gesamte Storefront oder den Admin-Bereich zum Absturz bringen. Wie ein ordentliches Staging-Setup aussieht, erklärt der Wiki-Artikel zu Shopware Themes und Templating mit Twig, wo auch der Themenbereich Frontend-Änderungen behandelt wird.

Kompatibilität und Updates im Blick behalten

Jedes Plugin gibt in der composer.json über die Versions-Constraint auf shopware/core an, mit welchen Shopware-Versionen es kompatibel ist. Bei einem Shopware-Kern-Update musst du prüfen, ob alle eingesetzten Plugins die neue Version unterstützen. Der Store gibt dazu eine automatische Kompatibilitätsprüfung aus, wenn du Erweiterungen im Admin pflegst.

In der Praxis sieht das so aus: Du erhältst ein Shopware-Update, das eine neue Mindestanforderung einführt. Zwei deiner Plugins haben noch kein Update des Herstellers erhalten. Du kannst jetzt wählen: Shopware-Update verschieben, bis der Hersteller nachzieht, oder das Plugin temporär deaktivieren. Wer viele Drittanbieter-Plugins einsetzt, hat hier regelmäßig Koordinationsaufwand.

Lese dazu auch, was professionelle Shopware-Wartung wirklich umfasst. Kompatibilitätsprüfung und Plugin-Update-Management sind ein fester Bestandteil davon.

Häufige Fragen

Was ist der Unterschied zwischen einem Plugin und einer App in Shopware?

Ein Plugin läuft direkt auf deinem Shopware-Server als Symfony-Bundle und kann tief in Kern-Logik, Datenbank und Templates eingreifen. Eine App kommuniziert extern über Webhooks mit dem Shop und ist von der Architektur her isoliert. Plugins sind mächtiger, funktionieren aber nur auf selbst gehostetem Shopware. Apps funktionieren auch in der Shopware Cloud.

Kann ich beliebig viele Plugins gleichzeitig installieren?

Technisch gibt es keine feste Obergrenze. Praktisch gilt: Jedes aktive Plugin verlängert die PHP-Bootzeit, weil der Symfony-Kernel alle Services registrieren muss. Ab einer gewissen Anzahl aktiver Plugins spürst du das als Latenz, besonders wenn Plugins viele Dekoratoren und Event-Subscriber mitbringen. Qualität und Architektur des Plugins sind entscheidender als die bloße Anzahl.

Was passiert, wenn ich ein Plugin deinstalliere?

Das hängt vom Plugin und der Konfiguration bei der Deinstallation ab. Shopware fragt bei der Deinstallation, ob auch die Daten des Plugins entfernt werden sollen. Wenn du die Option “Daten löschen” aktivierst, werden die zugehörigen Datenbanktabellen und -einträge entfernt. Das ist irreversibel. Wenn du das Plugin später reaktivierst oder durch ein anderes ersetzt, sind diese Daten weg.

Wie erkenne ich ein qualitativ hochwertiges Plugin?

Achte auf folgende Punkte: regelmäßige Updates des Herstellers, Kompatibilität mit aktuellen Shopware-Versionen, Nutzung des offiziellen Event-Systems statt Kern-Überschreibungen und Bewertungen anderer Händler. Im Shopware Store siehst du direkt, wie aktiv ein Plugin gepflegt wird. Wenn ein Plugin seit mehr als einem Jahr kein Update hatte und Shopware inzwischen mehrere Minor-Versionen weitergewandert ist, ist Vorsicht angebracht.


Wenn du dir unsicher bist, welche Plugins für deinen Shop sinnvoll sind oder ein individuelles Plugin für eine spezifische Anforderung entwickelt werden soll, schau dir unsere individuelle Plugin-Entwicklung an. Und falls du noch tiefer einsteigen willst, erklärt der Wiki-Artikel Was ist Shopware? das Grundprinzip des Shopsystems vom Start weg.

Shopware-Projekt oder Frage im Kopf?

Als Shopware Premium Extension Partner kennen wir die Plattform in der Tiefe. Lass uns ehrlich besprechen, was für dich sinnvoll ist.

BuI Insights

Shopware- & xentral-Praxiswissen direkt ins Postfach

Plugin-Updates, Best Practices, Migrations-Tipps und Branchen-Cases. Ein Mal im Monat, nur das, was wirklich relevant ist. Jederzeit abbestellbar.

Mit dem Klick stimmst du zu, dass wir dir den Newsletter zusenden dürfen (Art. 6 Abs. 1 lit. a DSGVO). Mehr in der Datenschutzerklärung.