Hallo,
ich habe ein schwerwiegendes Problem mit der Zuweisung von Bildern zu einzelnen Optionen meines ConfiguratorSets per REST API.
Was will ich erreichen?
Der Auswahlmodus des Sets soll “Bild” sein. Bei den Optionen der einen Gruppe sollen Bilder zugewiesen werden, bei der anderen Option soll die Auwahl als Text erfolgen.
Beispiel: Die Farbe eines T-Shirts soll über einen Button mit einem Farb-Bild gewählt werden, bei der Größe soll im Button beispielsweise L, XL oder S als Text stehen.
Dies kann beispielsweise auch im Backend so konfiguriert werden, indem man für ein Bild nur die entsprechende Option aus der Gruppe “Farbe” wählt, nicht jedoch eine Kombination aus Farbe und Größe.
Was ist das Problem?
Will ich dasselbe per API erreichen, benötige ich laut Dokumentation Code in dieser Art:
"images": [{
"mediaId": 147,
"options": [[{
"name": "Gelb"
}]]
},
{
"mediaId": 148,
"options": [[{
"name": "Grün"
}]]
}]
So weit, so gut. Klappt auch, aber nur, wenn es in keiner der Gruppen gleichlautende Optionen gibt!!
Beispiel: Wir verkaufen industrielle Drucker, die konfigurierbar sind. Bei manchen Modellen kann man optional einen Wickler und einen Cutter reinkonfigurieren. Erzeuge ich nun zwei Gruppen “Wickler” und “Cutter”, welche beide die Optionen “Ja” und “Nein” beinhalten, dann funktioniert obiges JSON nicht , weil Shopware dann die Bilder immer für die Optionen der ersten gefundenen Gruppe verwendet. Ich habe keine Möglichkeit anzugeben, für welche der Gruppen ich die Optionen wählen möchte.
Anstatt des Namens kann ich natürlich auch einen ID angeben, also statt “name”: “Ja” könnte ich auch “id”: 4711 hinschreiben - leider kenne ich zum Zeitpunkt des Anlegens des Artikels aber den ID der Option nicht und um diese herauszufinden, müsste ich mit dem vom POST gelieferten JSON-Ergebnis den Artikel zunächst wieder abrufen, dort die IDs des ConfiguratorSets rausfischen und dann ein Update auf dem Artikel machen - wie umständlich ist das denn??
Frage
Ist das alles korrekt oder übersehe ich hier eine ganz einfache Option?