Closed manu37 closed 3 years ago
Ich bin ein bisschen weiter. Auf den Seiten "Bestellbutton anlegen auf.." werden Varianten angezeigt auch wenn es keine hat. Wo finde ich die Stelle, wo die Auflistung der Artikel passiert? Muss wohl irgendwo im FrontEndController sein.
Ich habe dort auf mehrere
. Sollte die Id nicht eindeutig sein?
Soweit ich es überblicke, sind mehrer Artikel auf der selben Seite (noch) nicht wirklich vorgesehen.
Auf den Seiten "Bestellbutton anlegen auf.." werden Varianten angezeigt auch wenn es keine hat.
Kann ich nicht reproduzieren.
Wo finde ich die Stelle, wo die Auflistung der Artikel passiert?
Meinst du FrontEndController::addToCartButton()
(wird von index.php aufgerufen)?
Wenn ich auf den Seiten "Bestellbutton anlegen auf.." mehrere Artikel habe, wird addToCart.tpl in $this->variants
immer die Varianten des ersten Artikels angezeigt. Obwohl in https://github.com/cmsimple-xh/xhshop/blob/7dc4d6c36704423b87b44476145f71fad0d7d800/classes/FrontEndController.php#L70 $params['variants']
nicht gesetzt ist. Das soll mir doch mal ein Spezi erklären.
Ich setze jetzt in addToCartButton() bei keinen Varianten die $params['variants']
als leerer array. Muss dann in addToCart.tpl mit count() abfragen.
Oh, dummer Bug. Wenn gerendert wird, werden die bereits im $viewProvider
hinterlegten Parameter nicht zurückgesetzt. Um das zu ermöglichen, müsste Xhshop\View
wohl eine ::resetParams()
methode bekommen (und eigentlich wäre es wohl besser den $viewProvider
immer wieder neu zu erzeugen; also eben nicht wieder zu verwenden).
Oh, noch etwas ekliger als gedacht, da wir dynamische Eigenschaften verwenden.
Und die Lösung für die mehrfache cartButton ID bedeutet natürlich einen (kleinen) BC-Bruch.
Wenn mehrere Artikel einer Seite zugewiesen sind ("Bestellbutton anlegen auf.."), funktioniert die Variantenauswahl nur beim ersten Artikel. Bei den folgenden Artikel auf der Seite wird die Variantenauswahl ignoriert. Ich habe dort auf mehrere
<section id="cartButton">
. Sollte die Id nicht eindeutig sein?