Lebenszyklus & Installation
Installieren & verwalten
Ein Plugin durchläuft mehrere Zustände: Es wird registriert, installiert, aktiviert – und irgendwann eventuell wieder deaktiviert oder entfernt. Shopware steuert das über die Konsole und über Lebenszyklus-Methoden.
Installation über die Konsole
# Neue/geänderte Plugins registrieren
bin/console plugin:refresh
# Installieren und in einem Schritt aktivieren
bin/console plugin:install --activate SwagExample
# Nach Änderungen: Cache leeren
bin/console cache:clear
Die wichtigsten Befehle im Überblick:
| Befehl | Wirkung |
|---|---|
plugin:refresh | verfügbare Plugins neu einlesen |
plugin:install | Plugin installieren (--activate aktiviert direkt) |
plugin:activate | ein installiertes Plugin aktivieren |
plugin:deactivate | aktiv → inaktiv |
plugin:uninstall | Plugin entfernen (räumt i. d. R. auch Daten auf) |
plugin:update | auf eine neue Version aktualisieren |
Lebenszyklus-Methoden
Für Auf- und Aufräumarbeiten überschreibt man Methoden der Basisklasse. Sie bekommen einen Kontext mit, über den sich z. B. der Service-Container ansprechen lässt.
use Shopware\Core\Framework\Plugin;
use Shopware\Core\Framework\Plugin\Context\InstallContext;
use Shopware\Core\Framework\Plugin\Context\UninstallContext;
class SwagExample extends Plugin
{
public function install(InstallContext $context): void
{
// z. B. Standardwerte setzen
}
public function uninstall(UninstallContext $context): void
{
// Aufräumen – nur wenn keine Daten behalten werden sollen
if ($context->keepUserData()) {
return;
}
}
}
Praxis-Tipp: Für Datenbank-Änderungen nutzt man Migrationen statt der
install()-Methode. Die laufen versioniert und nachvollziehbar – dazu mehr auf der Seite zu eigenen Entities.
Steht das Plugin, kann es sinnvoll etwas tun. Der erste Schritt dahin: eigene Services registrieren.