# Varianten Vorauswahl setzen

**URL:** <https://forum.shopware.com/t/varianten-vorauswahl-setzen/25232>\
**Category:** Shopware 3.5\
**Tags:** programming\
**Created:** [21. Februar 2015 um 17:50 UTC](https://forum.shopware.com/t/varianten-vorauswahl-setzen/25232 "2015-02-21T17:50:15Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![nhalem](https://avatars.discourse-cdn.com/v4/letter/n/8491ac/32.png) [@nhalem](https://forum.shopware.com/u/nhalem)\
**Post date:** [21. Februar 2015 um 17:50 UTC](https://forum.shopware.com/t/varianten-vorauswahl-setzen/25232/1 "2015-02-21T17:50:15Z")

</div>

shopware 4.3.0; über die API Schnittstelle importieren und gleichen wir die Artikel in Shopware mit den Varianten ab. Jetzt haben wir das Problem das immer die erste Variante als Vorauswahl auf True gesetzt ist, ob diese manchmal gar nicht aktiv (nicht verfügbar) ist. Das führt dann beim Aufruf des Artikel zur Anzeige „Auswahl steht nicht zu verfügung“, was von Kunden wohl häufiger als „Artikel nicht lieferbar“ interpretiert wird und deshalb der Kauf nicht getätigt wird. Über welche Parameter läßt sich die Vorauswahl verändern bzw. gibt es eine Einstellung der Art „erste verfügbare/aktive Variante als Vorausauswahl setzen“?

---

<div class="post-metadata">

**Author:** ![hbee](https://avatars.discourse-cdn.com/v4/letter/h/f08c70/32.png) [@hbee](https://forum.shopware.com/u/hbee)\
**Post date:** [22. Februar 2015 um 14:21 UTC](https://forum.shopware.com/t/varianten-vorauswahl-setzen/25232/2 "2015-02-22T14:21:37Z")

</div>

hi, de Vorauswahl triffst du mir dem Parameter isMain welche Variante die Vorauswahl ist könntest du vielleicht in einer Schleife ermitteln und dann zum Beispiel die erste mit bestand als Vorauswahl setzen. Mein Varianten-Array sieht so aus: ` $articleParams['variants'][] = array( 'isMain' =\> (int)$defaultAppearance == (int)$appearanceId[0] ? 1 : 0, 'number' =\> $k \> 0 ? $articleId . '.' . $k : $articleId, 'inStock' =\> $itemStockState['quantity'], 'active' =\> $itemStockState['available'], 'additionaltext' =\> $v[0] . ' / ' . $v[1], 'configuratorOptions' =\> array( array('option' =\> $v[0], 'group' =\> 'Größe'), array('option' =\> $v[1], 'group' =\> 'Farbe') ), 'prices' =\> $this-\>getPriceArray( array( 'price' =\> (string)$article-\>price-\>vatIncluded, 'pseudoprice' =\> 0, 'baseprice' =\> 0 ) ), 'taxId' =\> 1, 'attribute' =\> array ( 'maxoutAppearanceId' =\> (int)$appearanceId[0], 'maxoutSizeId' =\> (int)$sizeId[0], 'maxoutProductId' =\> (int)$productId, 'maxoutProductTypeId' =\> (int)$productTypeId, ) ); `

---

<div class="post-metadata">

**Author:** ![nhalem](https://avatars.discourse-cdn.com/v4/letter/n/8491ac/32.png) [@nhalem](https://forum.shopware.com/u/nhalem)\
**Post date:** [22. Februar 2015 um 16:30 UTC](https://forum.shopware.com/t/varianten-vorauswahl-setzen/25232/3 "2015-02-22T16:30:04Z")

</div>

Ah, okay, vielen Dank für den Tip, ich werde mal in diese Richtung schauen und sehen, ob wir das mit der API gelöst kriegen.

---

<div class="post-metadata">

**Author:** ![TeichDatensysteme](https://avatars.discourse-cdn.com/v4/letter/t/43a26b/32.png) [@TeichDatensysteme](https://forum.shopware.com/u/TeichDatensysteme)\
**Post date:** [7. Mai 2015 um 16:11 UTC](https://forum.shopware.com/t/varianten-vorauswahl-setzen/25232/4 "2015-05-07T16:11:19Z")

</div>

Hi! Mit ‚isMain‘ funktioniert das bei mir nicht (SW5). Alle anderen Felder im Varianten/Artikel-Array funktionieren normal und wie gehabt, isMain bleibt ohne Funktion … ` array(26) { ["active"]=\> bool(true) ["lastStock"]=\> int(0) ["images"]=\> array(1) { [0]=\> array(3) { ["mediaId"]=\> int(672) ["position"]=\> int(1) ["main"]=\> int(1) } } ["changed"]=\> string(24) "2015-05-07T16:01:10+0200" ["number"]=\> string(14) "Y-VATER-ROT-XL" ["inStock"]=\> int(55) ["weight"]=\> NULL ["width"]=\> NULL ["len"]=\> NULL ["height"]=\> NULL ["ean"]=\> string(13) "5645777733338" ["supplierNumber"]=\> string(0) "" ["releaseDate"]=\> NULL ["shippingFree"]=\> int(0) ["shippingTime"]=\> NULL ["purchaseSteps"]=\> NULL ["minPurchase"]=\> NULL ["maxPurchase"]=\> NULL ["purchaseUnit"]=\> float(0.85) ["referenceUnit"]=\> float(1) ["unitId"]=\> int(10) ["packUnit"]=\> string(6) "Stück" ["isMain"]=\> bool(true) ["prices"]=\> array(1) { [0]=\> array(7) { ["customerGroupKey"]=\> string(2) "EK" ["price"]=\> float(13) ["pseudoPrice"]=\> NULL ["from"]=\> int(1) ["to"]=\> string(8) "beliebig" ["basePrice"]=\> int(0) ["percent"]=\> int(0) } } ["configuratorOptions"]=\> array(2) { [0]=\> array(3) { ["option"]=\> string(3) "Rot" ["group"]=\> string(5) "Farbe" ["optionId"]=\> int(114) } [1]=\> array(3) { ["option"]=\> string(2) "XL" ["group"]=\> string(7) "Größe" ["optionId"]=\> int(71) } } ["articleId"]=\> int(186) } ` Macht auch keinen Unterschied ob 1 oder true. In der Liste der Varianten bleiben immer alle deaktiviert. Gibt es noch etwas zu beachten? UPDATE: Ich habe mal geguckt, isMain taucht gar nicht irgendwo auf. In der Varianten-Resource z.B. nicht: [http://wiki.shopware.com/REST-API-Varianten-Endpunkt\_detail\_1694.html](http://wiki.shopware.com/REST-API-Varianten-Endpunkt%5C_detail%5C_1694.html) Ich wäre sehr daran interessiert, wie man ein Kind als Vorauswahl setzen kann! 🙂 Freue mich über Ideen oder Hilfe 🙂 Schöne Grüße, Niklas

---

<div class="post-metadata">

**Author:** ![stevoh](https://avatars.discourse-cdn.com/v4/letter/s/74df32/32.png) [@stevoh](https://forum.shopware.com/u/stevoh)\
**Post date:** [9. Mai 2015 um 20:08 UTC](https://forum.shopware.com/t/varianten-vorauswahl-setzen/25232/5 "2015-05-09T20:08:17Z")

</div>

Falls du die Varianten-Resource nutzt, versuch mal bei der Variante die vorausgewählt werden soll ‘kind’ auf 1 und bei allen anderen Varianten ‘kind’ auf 2 zu setzen. ‘isMain’ funktioniert nur wenn du die Artikel-Resource nutzt.

---

<div class="post-metadata">

**Author:** ![TeichDatensysteme](https://avatars.discourse-cdn.com/v4/letter/t/43a26b/32.png) [@TeichDatensysteme](https://forum.shopware.com/u/TeichDatensysteme)\
**Post date:** [11. Mai 2015 um 10:31 UTC](https://forum.shopware.com/t/varianten-vorauswahl-setzen/25232/6 "2015-05-11T10:31:55Z")

</div>

Bei mir hatte das eben den Effekt, dass das Kind als Vorauswahl eingestellt wurde, es aber zusätzlich als Einzelartikel im Artikelstamm vorlag. ‚kind‘ ist ja glaube ich auch eig. das Kennzeichen, ob es sich grundsätzlich um eine Variante handelt. Die Vaterartikel (Hauptartikel) haben eine 1, die Kinder eine 2. Also irgendwie nur zu Hälfte korrekt … Aber Danke! Wenigstens hat das schon einmal eine Auswirkung gezeigt. Niklas

---

<div class="post-metadata">

**Author:** ![hbri](https://avatars.discourse-cdn.com/v4/letter/h/e47774/32.png) [@hbri](https://forum.shopware.com/u/hbri)\
**Post date:** [10. November 2015 um 10:38 UTC](https://forum.shopware.com/t/varianten-vorauswahl-setzen/25232/7 "2015-11-10T10:38:56Z")

</div>

kind definiert die Vorauswahl bei Varianten, sprich welche Variante für den Kunden vorausgewählt ist, sollte Auswahl in der Varianten Konfiguration gewählt sein. In der MysQl Tabelle ist die Vorauswahl der Variante zu finden unter: S\_articles\_details -\> kind 2 = Vorauswahl false 1 = Vorauswahl true
