Liebes Shopware Team,
die neue Art Bilder im Theme bei Shopware 6 zu implementieren ist extrem unnötig kompliziert geworden.
Themes sind ja jetzt auch Plugins und genaue diese Verknüpfung schafft unnötige Probleme bei der Frontend Entwicklung.
-
Icons sollen laut Doku unter
CUSTOMTHEME/src/Resources/app/storefront/dist/assets/icon/
abgelegt werden. -
Laut dem Standard Storefont Ordner unter Platform soll das Vorschaubild dann unter
CUSTOMTHEME/src/Resources/app/storefront/dist/assets/defaultThemePreview.jpg
Hier fangen die Probleme schon an. „src/
“ steht für Quelle und ist der Roh - Code vor minification. „dist/
“ steht für Distribution und sollte die minimierte / verkettete Version sein. Aber schauen wir mal weiter:
-
Das Plugin Icon soll dann dann unter
CUSTOMTHEME/src/Resources/config/plugin.png
abgelegt werden. -
Nachdem ein neues Template generiert wurde, gibt es aber nur den Ordner, welcher auch in der theme.json referenziert ist
CUSTOMTHEME/src/Resourses/app/storefront/src/assets
Wieso muss dann jetzt nochmal ein CUSTOMTHEME/src/Resourses/public
Ordner erstellt werden!?
Aber das ist noch nicht genug, es muss zusätzlich auch noch ein Befehl ausgeführt werden, um die Bilder überhaupt im Frontend einbinden zu können! bin/console assets:install
Dieser Befehl hat dann zur Folge, dass die Bilder unter shopware-root/public/bundles/customtheme/
kopiert werden, was man auf keinen Fall händisch tun sollte
Hierbei wird schnell klar, dass die ganze Integration der Bilder nicht nur ineffizient, sondern auch vollkommen verwirrend ist. Diese Assets Implementierung mag so vielleicht irgendwie funktionieren, aber sie ist leider nur aus einer komplexen Backend-Sicht gedacht und nicht für den täglichen Gebrauch eines Theme-Entwicklers geeignet.
Ich finde es sehr schade, dass Shopware 6 sich hier so verschlechtert hat im Gegensatz zum Vorgänger und die tiefe Veerschachtelung der kompletten Theme Struktur die Entwicklung enorm erschwert.
Es wäre daher für viele Entwickler wünschenswert, dass die aktuelle Struktur nochmal überdacht und in Zukunft möglichst mal vereinheitlicht wird, damit Bilder (Assets) nicht an so vielen verschiedenen Stellen gepflegt und eingebunden werden müssen.
LG,
Patrik
Quellen:
Standard Storefront Template
SwagPlatformDemoData Plugin
https://developer.shopware.com/docs/guides/plugins/themes/add-assets-to-theme
https://developer.shopware.com/docs/guides/plugins/plugins/storefront/add-custom-assets
https:// developer.shopware .com/docs/guides/plugins/themes/add-icons
PS: Zudem ist die Doku „add-custom-assets“ auch fehlerhaft und das <img ist nicht geschlossen, was so nicht valide ist.