Hallo, ich habe etwas PHP-Code geschrieben, um Daten von CSV in die Datenbank zu importieren, indem ich die Shopware-API benutzte. Ich habe 2 Kategoriengruppen - Farbe und Größe (mit Konfigurator-Set Typ 2). Wenn ich die Daten von csv vervollständigt und importiert habe, funktioniert alles gut, aber der Konfigurator hat Größe eingestellt, die auch das Bild anzeigt.
Bitte sehen Sie sich das Bild an
Mein geschriebenes PHP-Skript wie folgt. Was verpasse ich?
foreach ($articlesArray as $key => $variantItem) {
$article = ;
$colors = ;
$colorNames = ;
$sizes = ;
$sizeNames = ;
$variants = ;
$images = ;
$imageNames = ;
$configurationSetOptionsColour = ;
$configurationSetOptionsSize = ;
foreach ($variantItem as $item) {
$articleName = $item[3];
$article[‚name‘] = $articleName;
$article[‚categories‘] = [
[‚id‘ => 1]
];
$colourCode = $item[5];
if (!in_array($colourCode, $colorNames)) {
array_push($colors, [‚name‘ => $colourCode]);
array_push($colorNames, $colourCode);
$configurationSetOptionsColour = [‚name‘ => $colourCode];
}
if (!in_array($item[7], $sizeNames)) {
array_push($sizes, [‚name‘ => $item[7]]);
array_push($sizeNames, $item[7]);
$configurationSetOptionsSize = [‚name‘ => $item[7]];
}
if (!in_array($item[11], $imageNames)) {
$imageNames = $item[11];
$images = ;
$images = [
‚link‘ => $this->base->publicPath . ‚/‘ . $item[11],
‚options‘ => [
[
[
‚name‘ => $colourCode,
]
]
]
];
}
$variant = ;
$variant[‚number‘] = $item[1] . ‚-‘ . $item[8];
$configurationSet = [
‚name‘ => „Test set“,
‚type‘ => 2,
‚groups‘ => [
[
‚name‘ => ‚Farbe‘,
‚options‘ => $configurationSetOptionsColour
],
[
‚name‘ => ‚Größe‘,
‚options‘ => $configurationSetOptionsSize
]
]
];
$variant[‚configuratorOptions‘] = [
[‚group‘ => ‚Farbe‘, ‚option‘ => $colourCode],
[‚group‘ => ‚Größe‘, ‚option‘ => $item[7]]
];
if(count($images) > 0) {
$variant[‚images‘] = $images;
}
$variants = $variant;
}
$variants[0][‚isMain‘] = true;
$mainDetail = $variants[0];
unset($mainDetail[‚configuratorOptions‘]);
$article[‚mainDetail‘] = $mainDetail;
array_splice($variants, 0, 1);
$article[‚configuratorSet‘] = $configurationSet;
$this->apiClient->post(‚articles‘, $article);
}