Ich schlage mich derzeit mit einem hartnäckigen Problem herum. Und zwar versuche ich über die REST-API Artikel mit Varianten über den Articles-Endpunkt zu erzeugen, die sowohl globale Attribute (die also für alle Varianten gelten) als auch variantenspezifische Attribute besitzen. Ich möchte damit erreichen, dass sich variantenübergreifende Attribute an manuell im Backend angelegte Varianten automatisch vererben. Am unten stehenden Beispiel veranschaulicht möchte ich also, dass bei der manuellen Erzeugung einer neuen Variante die Attribute attr1, attr2 und attr3 automatisch an die neue Variante vererbt werden. Sobald ich jedoch Varianten nutze, scheinen die Attribute unter mainDetail gar nicht mehr beachtet zu werden. Anstatt also allen Varianten die angegebenen Werte zu geben, bleiben die Felder in der Datenbank einfach NULL. Die variantenspezifischen Felder werden jedoch korrekt befüllt. Entferne ich jegliche Varianteninformationen aus den Daten werden die Attribute unter mainDetail jedoch korrekt übernommen. Jetzt stellt sich mir die Frage, ob das überhaupt so möglich ist, wie ich mir das vorstelle oder kann man die Array-Struktur so anpassen, dass der Shop das so akzeptiert wie gewünscht? Das eigentliche Ziel ist wie gesagt die Übernahme bestimmter Attribute bei der manuellen Variantenerzeugung im Backend. Es handelt sich dabei zum Teil um eher technische und im Backend nicht angezeigte Daten, weshalb man den Shop-Managern nicht zumuten kann, diese jedes Mal von Hand zu kopieren. Daten zur Anlage eines neuen Artikels mit Varianten: $articleData = array( 'name' =\> 'Artikel1', 'tax' =\> 19, 'supplier' =\> 'Hersteller1', 'mainDetail' =\> array( 'number' =\> 'A-00001', 'attribute' =\> array( 'attr1' =\> 'Attribut1', 'attr2' =\> 'Attribut2', 'attr3' =\> 'Attribut3', ), ), 'configuratorSet' =\> array( 'groups' =\> array( array( 'name' =\> 'Gruppe1', 'options' =\> array( array('name' =\> 'Option1'), array('name' =\> 'Option2'), array('name' =\> 'Option3'), ), ), ), ), 'variants' =\> array( array( 'isMain' =\> true, 'number' =\> 'A-00001.1', 'additionaltext' =\> 'Variante 1', 'configuratorOptions' =\> array( array('group' =\> 'Gruppe1', 'option' =\> 'Option1'), ), 'prices' =\> array( array( 'customerGroupKey' =\> 'EK', 'price' =\> 10.0, ), ), 'attribute' =\> array( 'attr4' =\> 'Attribut4.1', 'attr5' =\> 'Attribut5.1', 'attr6' =\> 'Attribut6.1', ), ), array( 'isMain' =\> false, 'number' =\> 'A-00001.2', 'additionaltext' =\> 'Variante 2', 'configuratorOptions' =\> array( array('group' =\> 'Gruppe1', 'option' =\> 'Option2'), ), 'prices' =\> array( array( 'customerGroupKey' =\> 'EK', 'price' =\> 20.0, ), ), 'attribute' =\> array( 'attr4' =\> 'Attribut4.2', 'attr5' =\> 'Attribut5.2', 'attr6' =\> 'Attribut6.2', ), ), array( 'isMain' =\> false, 'number' =\> 'A-00001.3', 'additionaltext' =\> 'Variante 3', 'configuratorOptions' =\> array( array('group' =\> 'Gruppe1', 'option' =\> 'Option3'), ), 'prices' =\> array( array( 'customerGroupKey' =\> 'EK', 'price' =\> 30.0, ), ), 'attribute' =\> array( 'attr4' =\> 'Attribut4.3', 'attr5' =\> 'Attribut5.3', 'attr6' =\> 'Attribut6.3', ), ), ), );