Ich habe für einen Artikel Varianten mit 3 Dimensionen erstellt : Breite, Farbe, Stückzahl
Es erscheinen demnach 3 Dropdowns auf der Artikeldetailseite.
Nun ist aufgefallen, dass bei einer ungültigen Auswahlkombination, die gesamte Dropdownauswahl zurückgesetzt wird und man jedes mal wieder seine Auswahl treffen muss. Das würden ich gerne ändern.
Besteht die Möglichkeit, Einstellungen vorzunehmen, dass bei Auswahl eines Merkmals in einer der Dropdowns, die nicht möglichen Kombinationen in den anderen Dropdowns ausgeblendet/ausgegraut werden, so dass man diese einfach nicht mehr auswählen kann?
Gibt es ein Modul, welches diese Aufgabe übernimmt?
Ein kleiner Beispiel zum besserern Verständnis.
Namen der Auswahl: Breite | Farbe | Stückzahl
Variante 1 : 10 cm | rot | 10
Variante 2 : 20 cm | grün| 100
Variante 3 : 10 cm | blau| 100
Wenn ich nun Breite 10 cm auswähle in Dropdown 1, dann soll automatisch nur Farbe rot, blau und Stückzahl 10, 100 in den anderen Dropdowns auswählbar sein. Farbe grün soll demnach nicht mehr auswählbr oder angezeigt werden.
Normalerweise dürfte dies nicht vorkommen, denn nicht wählbare Einheiten markiert oxid im Quellext mit der Klasse “disabled js-disabled”, damit diese nicht ausgewählt werden können.
Kannst mal den Quelltext der selectbox posten?
Danke für deine Antwort.
Ich habe neben dem Quelltetx auch in der Entwicklerkonsole nach einer Auswahl in Dropdown geschaut.
Ein “disabeld js-disabled” hätte ich ebenso erwartet.
OK, das sieht ja nach originalem Shop aus. Dann ist einfach zu prüfen, warum “$oSelection->isDisabled()” nicht reagiert. Die Ursache dazu ist zu 95% in den Artikeleinstellungen (Lager, Zuweisungen etc.) zu finden, sofern keine Module die Verarbeitung beeinflussen…
Versuch mal das folgende CSS. Das hat bei mir in einem Shop mit dem Wave Theme funktioniert, so dass man die nicht kaufbaren Auswahlen nicht wählen kann. Ich weiß nur nicht mehr welche OXID Version das war.
Vielen Dank für eure Antworten:
Wie sich herausstellte, lag es tatsächlich am CSS.
In Theme Flow ging es. In Theme Wave nicht mehr. Hier musste dann die CSS-Anpassung her.
Soweit ich mich erinnere hatte das CSS bei mir auch mit dem original Wave Theme geholfen ohne Anpassungen am Template. Ist aber schon länger her und so ganz sicher bin ich mir auch nicht mehr.
Der o.g. Quelltext ist ja auch nur die Ausgabe und nicht der Code aus der selectbox.tpl. Der entsprechende Block sieht dort im aktuellen Wave Theme so aus:
Die Frage war, warum etwas auswählbar ist, was es eigentlich nicht sein dürfte. Und wenn wenn es nun plötzlich mit obigem CSS-Zusatz funktioniert, passt das nicht zum geposteten Quelltext. Steht eigentlich oben beschrieben, denn da fehlt die Klasse, ohne die es nicht funktionieren kann.
Also ich vermute dass in dem Quelltext gar keine Auswahl vorhanden war die nicht auswählbar sein sollte. In dem foreach in der TPL ist in einem Standard Wave Theme die oben gepostete Abfrage drin. Diese setzt dann ja die Klasse disabled. Aber der CSS Code fehlt im Wave Theme und deswegen funktioniert das nicht, auch wenn die Klasse vorhanden ist.