Hallo.
Hat von Euch jemand gerade einen Code parat (und Lust und Erlaubnis, diesen zu veröffentlichen), der einen Test-Warenkorb zusammen stellt?
Hallo.
Hat von Euch jemand gerade einen Code parat (und Lust und Erlaubnis, diesen zu veröffentlichen), der einen Test-Warenkorb zusammen stellt?
[QUOTE=toxid;108859]Hallo.
Hat von Euch jemand gerade einen Code parat (und Lust und Erlaubnis, diesen zu veröffentlichen), der einen Test-Warenkorb zusammen stellt?[/QUOTE]
Hast du mal geschaut ob in den Unit Tests von Oxid eventuell sowas schon existiert? Generell wäre es ja nur nötig das oxBasket Objekt per addToBasket zu füttern. Das selbige kriegst du aus oxSession::getbasket()
Danke für die Tipps. Ich habe erwartet, dass der Code in den Tests arg abstrahiert ist, aber ist er gar nicht. Irgendwie sowas müsste gehen:
<?php
$aBasketItems = array(
'1234' => 1,
'1235' => 10,
'1236' => 25,
);
$Basket = \oxNew('oxbasket');
foreach ($aBasketItems as $sId => $iAmount) {
$Article = \oxNew('oxarticle');
$Article->load($sId);
$Basket->addToBasket($article, $iAmoint);
}
Ungestest…
Ah, es werden Artikel-IDs erwartet, keine Objekte. Jetzt bekomme ich aber einen Fehler, dass die angegebene Menge ungültig ist, obwohl <= verfügbare Menge.
Pass auf dass du nicht versuchst Varianten Vater Artikel zu kaufen wenn die Option nicht angeschalten ist. Außerdem hast du einen Rechtschreibfehler in deinem Code im addToBasket schreibst du $iAmoint
Danke. In dem Shop gibt es eh nur Varianten zu kaufen unf die Artikelnummern sind Varianten-IDs.
Außerdem hast du einen Rechtschreibfehler in deinem Code im addToBasket schreibst du $iAmoint
Danke! Das wars. Ich hasse diese Fehlerausgabenunterdrückerei! Wer sich das ausdedacht hat! Und wer es auch noch benutzt ebenso! Grrrr.
Also hier der Code für die Nachwelt:
$aBasketItems = array(
'1234' => 1,
'1235' => 10,
'1236' => 25,
);
$Basket = \oxNew('oxbasket');
foreach ($aBasketItems as $sId => $iAmount)
$Basket->addToBasket($sId, $iAmount);