Hallo,
Ich beschäftige mich gerade mit der Erstellung eigener CMS Blöcke und habe mich dabei primär an diese Doku (Add CMS block - Shopware Developer) gehalten. Soweit klappt das meiste auch recht gut.
Eine Sache ist mir jedoch aufgefallen:
Wenn ich die slots nicht „left“,„center-left“,„center-right“,„right“ benenne sondern zB: „text-1“,„text-2“,„text-3“,„text-4“ lässt es sich mit diesen zwar auch arbeiten, im Layout-Editor im Backend werden die Felder aber (wohlgemerkt erst nach dem Speichern) in zufälliger Reihenfolge angezeigt. Dasselbe Problem besteht dann auch in dem Layout Tab auf Kategorieseiten.
Dadurch ist für den Redakteur nicht mehr ersichtlich, welche Felder er gerade bearbeitet.
Anbei einmal der Unterschied in meinem Test-Block:
import ‚./component‘;
import ‚./preview‘;
Shopware.Service(‚cmsService‘).registerCmsBlock({
name: ‚test‘,
category: ‚id8‘,
label: ‚Test‘,
component: ‚sw-cms-block-test‘,
previewComponent: ‚sw-cms-preview-test‘,
defaultConfig: {
},
slots: {
'text-1': 'text',
'text-2': 'text',
'text-3': 'text',
'text-4': 'text',
},
});
import ‚./component‘;
import ‚./preview‘;
Shopware.Service(‚cmsService‘).registerCmsBlock({
name: ‚test‘,
category: ‚id8‘,
label: ‚Test‘,
component: ‚sw-cms-block-test‘,
previewComponent: ‚sw-cms-preview-test‘,
defaultConfig: {
},
slots: {
'left': 'text',
'center-left': 'text',
'center-right': 'text',
'right': 'text',
},
});
Getestet auf Shopware6 6.4.17.1. Aufgefallen ist mir das Verhalten bei der Erstellung eines Blocks mit 9 Slots. Hier würden „left“ & „right“ als Namen auch nicht mehr ausreichen.
Nun ist die Frage, gibt es hier vordefinierte Slot Namen, die zu nutzen sind? Lässt sich die Reihenfolge ggfs. irgendwo definieren? Oder handelt es sich dabei noch um einen Bug? Jemand eine Idee?
Viele Grüße,
Lars