Bei klick auf einen Link eines Artikels mit Varianten, wird die günstigste Variante ausgesucht und vorselektiert.
Das funktioniert so weit auch ganz gut, allerdings wenn es einen Artikel gibt, bei dem alle Varianten keinen Bestand haben, dann passiert wirres zeug.
Entweder, es passiert gar nichts und die selbe Seite wird erneut aufgerufen. Das ist nachvollziehbar, da ich bei allen Artikeln mit Varianten initial den Link auf href="#" setze.
Manchmal wird allerdings einfach der vorige Artikel ausgewählt?!
Liegt es an der funktionsweise des Codeschnippsels den ich oben gepostet habe?
Ich muss sagen, dass ich diese Datei stark verändert habe und es gut möglich ist, dass das ganze auch an einer anderen Stelle schief läuft.
Vielleicht hat aber dennoch jemand eine Idee woran das Ganze scheitert.
Keine Varianten - foreach hat nichts zum durchlaufen - saveArticle wird nicht zugewiesen - href bekommt den Wert der noch vom letzten Artikel drin ist.
Die Artikel die betroffen sind, haben auf jedenfall auch Varianten und es ist immer reproduzierbar.
Sobald ich bei allen Varianten einen Lagerbestand <= 0 eingebe, tritt der Fehler auf.
Wenn der Artikel z.B. mehrere Varianten hat und der billigste keinen Lagerbestand hat, wird dieser auch nicht ausgewählt sondern der nächst-günstigste mit Lagerbestand.
Aber warum ist das so? Ich frage nirgends den Lagerbestand ab, er soll nur alle Varianten durchlaufen?
Übergibt mir $product->getVariants in listitem_grid.tpl automatisch nur die aktiven mit Lagerbestand? Bzw. wo kann ich das prüfen?
[QUOTE=mkb-kk;151460]
Übergibt mir $product->getVariants in listitem_grid.tpl automatisch nur die aktiven mit Lagerbestand? Bzw. wo kann ich das prüfen?[/QUOTE]
in oxarticle.php:
public function getVariants($blRemoveNotOrderables = true, $blForceCoreTable = null)
Es werden immer nur die aktiven Varianten zurückgegeben. Wenn Lager eingeschaltet ist, werden auch die mit Stock 0 und “wenn ausverkauft offline” nicht zurückgegeben. Wenn $blRemoveNotOrderables true ist (also beim Aufruf ohne Parameter), werden auch die mit Stock 0 und “wenn ausverkauft nicht bestellbar” entfernt.