Erlebniswelten Custom Product Listing Block erstellen

Hallo,

ist es möglich einen weiteren Productlisting Block über custom Cms Blöcke zu erstellen?

Ich habe das bereits versucht indem ich den product-listing Block aus /vendor/shopware/platform/src/Administration/Resources/app/administration/src/module/sw-cms/blocks/commerce/product-listing/ in mein Plugin kopiert und angepasst habe, und den Block auch hinzufügen kann, aber wenn ich die Seite speichern will kommt folgende Fehlermeldung:

„Speichern nicht möglich. Bitte füge einen Produktlisting-Block hinzu oder ändere den Layout-Typ.“

Muss ich den Block noch irgendwo als Produktlisting-Block definieren oder habe ich etwas anderes übersehen?

 

Ja, du kannst alles Mögliche als CMS Block erstellen. Wie das geht steht hier:

Hallo, 

danke für deine Antwort,

CMS Blöcke habe ich bereits erstellt die auch funktionieren, in diesem Fall möchte ich aber spezifisch einen product-listing CMS Block erstellen. Also quasi einen Block für eine Kategorieseite in dem die Produkte angezeigt werden. Standardmäßig existiert ja bereits einer wenn man eine Kategorieseite erstellt und ich möchte einen weiteren angepassten erstellen. Aber erhalte eben dabei den oben genannten Fehler.

In Resources/app/administration/src/module/sw-cms/page/sw-cms-detail/index.js Zeile 442, wird beim Speichern geschaut ob es ein Block-Element vom Typ product-listing gibt. Wenn nicht, wird eben die Fehlermeldung ausgegeben und die Seite nicht gespeichert.

Du könntest den ursprünglichen product-listing Block extenden und eine zusätzliche an/aus-Option einbauen, die dann dein erweitertes bzw. das originale Listing ausgibt.

Nachtrag: du kannst auch 'sw-cms-detail' extenden, die Methode onSave decoraten und darin die Typ-Abfrage um dein Element erweitern. Allerdings ist die Methode dann nicht mehr Update-Sicher. D.h. falls Shopware darin etwas ändert, muss man das manuell anpassen oder die Änderung greift nicht.

Hallo iTiOusIT

Hast du schon eine Lösung für das Problem gefunden?

Ich habe genau dieselben Anforderungen zu erfüllen.

Viele Grüsse

Martin