Plugin mit Frontend- und Backendkomponente

Hallo zusammen, ist es möglich mit einem Plugin sowohl das Backend als auch das Frontend zu erweitern? Ich möchte damit erreichen, dass ein Plugin installiert werden kann, das dem Backend ein Modul hinzufügt und die Funktionalität des Frontends erweitert (Views erweitern, Controller, Services etc).

Ja, das ist ohne Probleme möglich. Viele Grüße

1 „Gefällt mir“

[quote=“Aquatuning GmbH”]Ja, das ist ohne Probleme möglich.[/quote] Das ist schön zu lesen :slight_smile: Ich würde mich freuen, wenn ich noch einen Anstoß bekommen kann, wie soetwas implementiert werden kann. Mir stellen sich zum Beispiel diese Fragen: Müssen die Klassen Shopware\_Plugins\_Backend\_MeinPlugin\_Bootstrap und Shopware\_Plugins\_Frontend\_MeinPlugin\_Bootstrap in eine Bootstrap.php? In welchem ‘Plugin-Ordner’ (Frontend, Backend, Core ) ist das Plugin besser aufgehoben? Ich konnte in der Dokumentation dazu leider nichts finden.

Hm?! Warum willst du denn zwei Plugins haben? Ob es _Frontend_MeinPlugin oder _Backend_MeinPlugin heißt ist doch prinzipiell egal - das ist nur ein Name. Du kannst alle deine Änderungen (Frontend und Backend) in einem Plugin zusammen fassen. Viele Grüße

1 „Gefällt mir“

[quote=„Aquatuning GmbH“]_Frontend_MeinPlugin oder _Backend_MeinPlugin heißt ist doch prinzipiell egal - das ist nur ein Name.[/quote] Ich verstehe. Das ist also ‚nur‘ Konvention und wird von Shopware in deren Dokumentation (bsp Developers Guide) benutzt. Ich tue also alles nötige in einer Klasse. [quote=„Aquatuning GmbH“]Hm?! Warum willst du denn zwei Plugins haben?[/quote] Das möchte ich ja gerade vermeiden, da das Plugin das Front- und Backend um Funktionalität erweitern soll, die logisch zusammen hängt. Das ist aber wahrscheinlich schon angekommen :slight_smile: Ich störe mich vielleicht noch daran, dass sich das Plugin im Verzeichnis ‚Frontend‘ oder ‚Backend‘ befinden muss und da beides betroffen ist, kein semantisch richtiger Ort existiert. Gibt es hier eine Empfehlung? Vielen Dank und beste Grüße

Hallo kcon, diese Aufteilung ist durchaus „nur“ eine Konvention, die du eigentlich(!) ignorieren kannst. Wichtig ist, dass wenn du das Plugin in den Backend-Ordner legst, die Klasse der Bootstrap auch angepasst werden muss. Ansonsten empfiehlt sich ggf. folgende Aufteilung: Backend - Plugins, dessen Hauptfunktionalität im Backend liegt. Plugins aus dem „Backend“-Ordner dienen dementsprechend hauptsächlich dem Shop-Besitzer und ergänzen das Backend um wichtige Verwaltungs- und Einstellungs-Funktionen. Frontend - Plugins, die hauptsächlich etwas im Frontend ändern. Diese Plugins sollen etwas für den Endkunden anpassen und/oder Funktionen im Frontend erweitern. Diese dürfen durchaus auch Backend-Komponenten haben, bspw. um die neuen Frontend-Funktionen vernünftig zu verwalten. Vielleicht gibt dir dies eine grobe Richtung. :slight_smile: Das ist aber nur eine Konvention für die Übersichtlichkeit und keine Pflicht. Wenn du dir da eigene Regeln schaffen magst, ist das natürlich dir überlassen. Gruß, Patrick :shopware:

1 „Gefällt mir“

Hallo Patrick, [quote=“Patrick Stahl”]Vielleicht gibt dir dies eine grobe Richtung.[/quote] Ja, damit komme ich super zurecht. Übersichtlichkeit ist mir wichtig und die Konvention macht es natürlich auch anderen Entwicklern leichter Dinge verstehen zu können. Vielen Dank für deinen abschließenden Beitrag :slight_smile: Viele Grüße