Artikel API Import: Bilder nur für eine von zwei Varianten festlegen / Vorschaubild markieren

Ich importiere Artikel mit zwei Varianten über die API (Farbe und Größe). Ich möchte, dass die Bilder jeweils nur der Ausprägung “Farbe” zugeordnet werden. Egal was ich versucht habe, werden aber immer beide Ausprägungen zugeordnet (Farbe und Größe). Im jeweiligen Bild steht dann: “Zugeordnete Varianten: grey melange > 48/S”. Es soll aber nur “grey melange” zugeordnet werden.

Ausserdem werden die Felder “main” und “description” beim Import ignoriert. Es wird kein Bild als Vorschau markiert und das Icon für “Keine Bilder” erscheint im Backend in der Übersicht.

ich nutze die folgenden Arrays für den Import mit

$client->call('articles', ApiClient::METHODE_POST, array(
  'name' => $bezeichnung,
  'descriptionLong'=> $beschreibung,
   'taxId' => 1,
   ... [Weitere Felder des Hauptartikels],
   'configuratorSet' => array(
        'type' => $variantendarstellung,
        'groups' => $groups,  
        ),
   'variants' => $variants
   ));  

Das varants Array sieht so aus

$variants[] = array(
        'isMain' => $variant_data["isMain"], // 1 beim ersten Artikel, sonst 0
        'kind' => $variant_data["kind"], // 1 beim ersten Artikel, sonst 2
        'number' => $variant_number,
        ... [Weitere Felder],
        'images' => $images,
        'configuratorOptions' => $configuratorOptions,
        ... [Weitere Felder]
        );

Und  das images Array sieht so aus:

$images[] = array("link"=>$link, "description"=>$description, "main"=>$main, "position"=>$i, "options" => array("name"=>"Farbe"));

Wenn ich versuche, das $images-Array in den Bereich des Hauptartikels zu legen, was vermutlich sinnvoller wäre, da es ja eine options Variable gibt, dann werden überhaupt keine Bilder hochgeladen.

Nach dem Api-Call rufe ich noch

$putData = 'generateArticleImages/'.$mainnumber.'.1?useNumberAsId=true';
$client->put($putData);

auf, aber das bringt auch nichts.

Im Gunde kann man auch mit dieser Lösung arbeiten, Es wird nun eben zu jeder Farbe und JEDER Größe ein Bild importiert und die Darstellung im Frontend passt dann ja auch immer. Aber neben der Ressourcenverschwendung, was die eigentlich überflüssigen Bilder betrifft, kann man auch die Bilddarstellung für die Variantenauswahl so nicht verwenden, weil auch für die Größen das Bild der Farbe dargestellt wird und keine Größe angezeigt wird.

 

 

 

Wenn man mit der API ein Varianten-Set erzeugt, entstehen ja in der Datenbank automatisch eigenständige Produkt-Datensätze. Und diesen Produkten, kann man dann Produkt-Bilder (als Gallery) zuordnen. In typischen Produkt-Detailsseiten erscheinen dann ja Links, die Gallery-Bilder. Daneben kann man den Optionen (das ist dann der Varianten Selektor, typischerweise Rechts dargestellt), ein Bild zuordnen.

Ich mache das beim Upload so, dass ich die Artikel-Nr. im ERP/WaWi generiere und zur Variante hochlade (im Feld productNumber der VariantenOption). Danach lasse ich Shopware mit dem Hauptartikel die Varianten-Produkte erzeugen, dann werden auch die Ids der Produkte (GUID). Danach hole ich mir mit der ProductNo die Produkte ab und hole mir die GUIDs.

Im nächsten Schritt kommen dann auf die Artikel die mediaIds; hier kann man dann evtl. ein Bild mehreren Varianten zuordnen. Z.B. setzt man vielleicht für die Farb-Varianten ein anderes Bild, allerdings bekommen unterschiedlichen Größen immer das gleiche Bild.

Etwas anderes sind die images der Optionen, hier kommen Images rein für Farben, oder Formen, etc. aber keine konkreten Ausprägungen.