Einen neuen Artikel aus Frontend Controller erstellen

Hallo Community, ich habe einen Frontend Controller mit dessen Hilfe ich eine Artikel-Konfiguration umgesetzt habe. (Man kann z.B. Breite/Höhe/Farbe wählen etc) Damit ich diesen Artikel in den Warenkorb legen kann muss ich ihn vorher als neuen Artikel abspeichern. Ich denke das geht so. Richtig? $article = new \Shopware\Models\Article\Article(); $article-\>fromArray($data); Shopware()-\>Models()-\>persist($article); Shopware()-\>Models()-\>flush(); Ich nutze Shopware 5.1.1 Frage: Wie muss denn in diesem Falle $data aussehen (welches Format)? Ich möchte z.B. einen Artikelnamen mitgeben und einen Preis sowie weitere Konfigurationsdaten. Woher weiß ich, welche Pflichtfelder es gibt, die ich füllen muss? Ich habe leider im Netz nichts zu diesem Thema gefunden. LG

Hi, „fromArray“ ist eigentlich nur ein Helfer. Der geht da jedes Arrayelement durch und versucht automatisiert die Setter des Artikelmodels aufzurufen. Beispiel: $article-\>fromArray(['name' =\> 'test']) wird intern zu $article-\>setName('test'). Die möglichen Felder kannst du dir entsprechend im Model \Shopware\Models\Article\Article ansehen. Das Arbeiten direkt auf den Models ist möglich, oft aber recht aufwändig. Benutze lieber die API (https://developers.shopware.com/develop … s/article/) - die kann man auch intern verwenden (vgl http://community.shopware.com/Shopware- … l_992.html) Daniel

1 „Gefällt mir“

Vielen Dank. Damit funktioniert es!