Es geht um den Inhalt im Shopware 5 Plugin Update Guide https://developers.shopware.com/develop … ate-guide/ Hier wird erklärt, dass um das Plugin kompatibel zu Shopware 4 und Shopware 5 zu machen wir in dem Views Ordner nun 3 Ordner „common“, „responsive“ und „emotion“ anlegen. Das Plugin soll dann die Shopware Version prüfen und den richtigen Views Ordner einbinden. Dies geschieht an folgender Stelle: public function onSecureDetailPostDispatch(Enlight\_Event\_EventArgs $arguments) { /\*\*@var $controller Shopware\_Controllers\_Frontend\_Listing\*/ $controller = $arguments-\>getSubject(); $controller-\>View()-\>addTemplateDir($this-\>Path() . 'Views/common/'); if (Shopware()-\>Shop()-\>getTemplate()-\>getVersion() \>= 3) { $controller-\>View()-\>addTemplateDir($this-\>Path() . 'Views/responsive/'); } else { $controller-\>View()-\>addTemplateDir($this-\>Path() . 'Views/emotion/'); $controller-\>View()-\>extendsTemplate('frontend/detail/example1.tpl'); } $controller-\>View()-\>mediaSelection = $this-\>Config()-\>mediaselection; }
Der Views/commen/ Ordner wird für alle eingebunden, dann findet eine Prüfung auf die Shopware Version statt. Shopware()-\>Shop()-\>getTemplate()-\>getVersion() \>= 3
Sollte es nicht auf " >= 5 " und nicht " >= 3 " prüfen? Eine Shopware Version kleiner als 3 gibt es ja eh nicht. Mit der Prüfung auf " >= 5 " wird somit Shopware 5 Versionen die „responsive“ und alles unter Version 5 die „emotion“ View zugeordnet. Außerdem wird ganz am Ende des Guides die neue Ordner Struktur gezeigt. Und dort haben wird dann aber nicht die Unterteilung in die 3 Ordner „common“, „responsive“ und „emotion“ sondern nur „responsive“ und „emotion“. Ich bin diesen Guide durchgegangen um ein Frontend Plugin kompatible zu Shpware 4 und Shopware 5 zu schreiben. In diesem Guide wird dann auch nicht weiter darauf eingegangen wie denn die Shopware 4 Version sich die Stylings holt. Dies geht ja dann nicht wie im Guide erklärt per LESS Einbindung. Hier müsste man dann im emotion Ordner das CSS hinterlegen, und in der SwagExample1/Views/emotion/frontend/detail/example1.tpl einbinden? Könnte ich hierzu am besten von Shopware Feedback bekommen? Hat sich sonst jemand mit dem Guide beschäftigt und kann etwas dazu sagen?
[quote=„izzy“]Sollte es nicht auf " >= 5 " und nicht " >= 3 " prüfen? Eine Shopware Version kleiner als 3 gibt es ja eh nicht. [/quote] Du prüfst nicht die Shopware Version, sondern das Template: 1 -> Shopware 3 standard Template 2 -> Shopware 4 emotion Template 3 -> Shopware 5 responsive Template [quote=„izzy“]Und dort haben wird dann aber nicht die Unterteilung in die 3 Ordner „common“, „responsive“ und „emotion“ sondern nur „responsive“ und „emotion“.[/quote] Das ist nur ein Beispiel. In den Ordner common kannst du Templates (oder js oder css oder…) ablegen, die für jedes Template gültig sind. [quote=„izzy“]In diesem Guide wird dann auch nicht weiter darauf eingegangen wie denn die Shopware 4 Version sich die Stylings holt.[/quote] Genau so wie immer. Dafür unterscheidest du ja nach Shopware 4 oder 5. Für den Fall Shopware 4 ändert sich nichts. [quote=„izzy“]Dies geht ja dann nicht wie im Guide erklärt per LESS Einbindung.[/quote] Die Einbindung von .less Dateien ist neu - daher wird das im Guide erklärt. Alles was mit Shopware 4 zu tun hat sollte ja bekannt sein, wenn du deine Plugins von 4 auf 5 updaten willst. Viele Grüße
Vielen Dank für die Erklärung! Das hatte ich übersehen. Dann ist jetzt ja alles klar.