ich würde gerne wie von SW empfohlen, mein projektspezifisches Theme von „plugins“ in „static-plugins“ verschieben. Dabei habe ich es deaktiviert und deinstalliert und anschließend im File-System verschoben.
Wenn ich jetzt ein plugin:list oder plugin:refresh aufrufe, taucht das Plugin in mehr in der Liste auf. Verschiebe ich es zurück, taucht es wieder auf. Habe ich hier etwas vielleicht wichtiges vergessen?
Muss da jetzt noch mal nachhaken. Getestet in einer 6.5.8.7.
bin/console plugin:create MyTheme => Shopware legt das Theme an unter custom/plugins/
Nach bin/console plugin:refresh sehe ich es in der console aufgelistet.
Wenn ich es nach custom/static-plugins/ verschiebe, wo es ja eigentlich hin soll, wird es nicht mehr nach einem plugin-refresh aufgelistet und kann auch nicht mehr installiert werden.
Was mache ich da falsch bzw. habe ich einen Step vergessen?
@Max_Shop
Mein Kenntnisstand ist, dass alle projektspezifischen Plugins und Themes in „static-plugins“ landen sollten und aller 3rd Part in „plugins“. Wird auch empfohlen in " Shopware 6 Backend Development - with Jisse Reitsma" (Erstes Video in Kapitel Plugins). Empfohlen wir dort mit „theme:create“ das theme bzw. „plugin:create“ das Plugin zu erstellen und es dann in den „static-plugins“ Ordner zu verschieben.
In anderen offiziellen Docs ist aber auch oft nur von „plugins“ Ordner die Reden.
Wenn es hier eine klare Aussage bzw. Empfehlen gibt, die anders ist, bin ich gerne dafür offen. Versuche das nur gerade für mich klar zu machen.
@area-net-gmbh
Danke für die Info!
Sollten composer plugins dann nicht im „vendor“ Folder landen?
„static-plugins“ ist in der Shopware composer.jsons bereits als path repository konfiguriert.
Könnte also Sinn machen das dort zu hinterlegen und dann per composer requiren.
Die default .gitignore schließt den „plugins“ Folder aus. (was Sinn macht, wenn nur 3rd Part).
Der „static-plugins“ Inhalt landet aber im Repo. Was für mich Sinn machen würde, wenn dort dann projektspezifische Dinge liegen.
Bin da für alle Infos, die das für mich klarere machen dankbar!
Die Videos sind inzwischen in die Jahre gekommen. War das nicht noch Shopware 6.3 oder 6.4? Vielleicht hat sich das Verhalten inzwischen geändert.
Da Shopware von sich aus Git Plugins in static-plugins speichert und selbst erstellte Plugins als auch die aus dem Store in plugins, denke ich, dass es seine Richtigkeit hat. Ansonsten würden die Plugins vermutlich direkt im static Ordner erstellt werden, oder nicht?
Wieso ist ein individuelles Theme projektspezifisch, eines aus dem Store aber nicht? Die Argumentation ist für mich nicht ganz schlüssig.
Ich glaube, das ist aber das allergeringste „Problem“ das man mit Shopware haben kann.
In vendor landen keine Plugins, sondern Bibliotheken.
Die haben mit Shopware an für sich nichts zu tun, aber werden im Code von Shopware benötigt. Plugins hingegen sind Code explizit für Shopware.
Wenn das jetzt so ist, dass man den „static-plugins“ Ordner ignorieren kann, dass ist das auch OK für mich. Aber ich bin da nach wie vor unsicher. Wenn hier scheinbar zumindest einige das auch so machen, dann kann ich mit dem „plugins“ Ordner auch gut leben.
Als ich vor ca. nem Jahr ne Agentur, die sich auf Shopware spezialisiert hat und auch Partner ist in einem Projekt unterstützt hatte, war das auch so geregelt, dass alles projektspezifische / custom code im „plugins-static“ lag. Aber kann auch gut sein, dass die das damals schon über composer gemacht haben.
Klar wäre es sonst sinnvoll, wenn mit dem create:theme, das Theme sonst dann direkt dort landen würde. Sehe ich auch so. Aber auch im Video wie ja explizit gesagt, einfach rüber kopieren. Und ja das Video ist nicht mehr super aktuell. Aber scheinbar gab es diese offizielle Empfehlung, sonst wäre sie ja nicht in dem offiziellen Video, das als Vorbereitung für ne Zertifizierung dient.
Das ist meiner Meinung nach aber schon schlüssig. Das individuelle Theme ist, wie der Name schon sagt, komplett individuell. Kein anderer nutzt deinen Code vs viele nutzen den gekauften Theme Code um ihn meist übers Backend zu individualisieren. Shared Code Base vs Custom Code.
OK, dann scheint Shopware das mit den composer installierten Plugins speziell zu behandeln. Kenne das sonst so, dass alles über composer im vendor Ordner liegt.
Wobei ich gerade eben getestet habe. Installation Payone Plugin via composer.
Das landet komplett im vendor Ordner und nichts davon unter „custom“.
Ich bin verwirrt.