Beim Testen fällt mir auf, das Plugin-Einstellungen nach dem Deinstallieren und sogar Löschen nicht wirklich gelöscht werden. Installiere ich mein Test-Plugin erneut (Cache vorher natürlich gelöscht) dann stehen plötzlich meine alten Einstellungen wieder im Plugin.
Warum ist so? Wie kann ich diese Einstellungen sauber löschen? (wenn möglich ohne Console)
Weil nur das Plugin selbst auf “File-Ebene” gelöscht wird, nicht aber die Inhalte die in der Datenbank stehen. Manche Plugins löschen auch die zugehörige Tabelle, die meisten jedoch nicht. Müsste man dann manuell machen. Nervt mich auch immer wieder …
Ohje, Danke für das Beispiel. Wie ich das in einem einfach Plugin umsetze ist mir noch schleierhaft. Ich bin aber davon ausgegangen, dass die Einstellungen beim Deinstallieren bzw. Löschen automatisch raus fliegen.
Das Löschen von Plugin eigenen Einstellungen sollte auch im Plugin selber gehandelt werden. Shopware kann nicht wissen, was gelöscht werden darf, oder unter welchem Key, die Einstellungen in der System-Config gespeichert sind. Es gibt natürlich eine Vorgabe, die man annehmen könnte, aber dann wäre die Fragen, wann wird gelöscht? Immer? oder nur wenn KeepUserData auf false steht?
Das Löschen von seinen eigenen Konfigurationen ist auch nicht schwierig. Ich bin gerade dabei die Dokumentation für die Plugin Config zu überarbeiten. https://docs.shopware.com/en/shopware-platform-dev-en/internals/plugins/plugin-config In dem Zuge werde ich auch das Beispiel-Plugin updaten. Dort könnt ihr euch dann das Löschen abschauen.
erst einmal Danke für deine Ausführung. Ich bin fest davon ausgegangen das Shopware sehr wohl erkennt, wenn ich auf den Button/Link “Löschen” klicke. Shopware erkennt ja auch den Zustand installieren/deinstallieren eines Plugins. Ist ja nicht weiter dragisch, man muss es eben nur wissen als Entwickler. Aktuell habe ich ja einen Weg gefunden und mit nur 3 Zeilen Code ist alles sauber raus.
evtl. könnte man beim Löschen von einem Plugin über die Administration auch den Deinstallations-Prozess des Plugins anstoßen. Halte ich erstmal für keine schlechte Idee. Könntest du dafür vielleicht ein Ticket aufmachen?
@Moorleiche Danke für die schnelle Rückmeldung. Wollte nur sicher gehen, dass man in SW6 eine solche Abfrage vor dem Deinstallieren nicht erst noch irgendwie im Plugin implementieren müsse - also zusätzlich zum keepUserData-Kram