Hallo,
wir kommen derzeit auf einen sehr komischen Sachverhalt bei einem unserer Kunden.
Umgebung:
- Ein ehemaliger OXID 5 Shop der von uns migriert wurde auf OXID 6, anhand der Doku
- Zwei Mandanten
- Zwei Sprachen
- MySQL 5.6 und 5.7 getestet
Sachverhalt:
- Rabatt für Artikel anlegen -> funktioniert
- Weiteren Rabatt einstellen -> wird gar kein Rabatt mehr angewandt
- Einen Rabatt deaktivieren, Cache leeren -> wie erwartet wird wieder aktiver Rabatt angewandt
- Weiteren Rabatt wieder aktivieren, Cache leeren -> es wird wieder gar kein Rabatt angewandt
Einfach gesagt: es funktioniert nicht, mehrere Rabatte gleichzeitig zu verwenden.
Unsere Lösungsansätze:
- Wenn in der Klasse DiscountList erzwungen wird, dass die Tabellen und nicht die Views genommen werden (mit Einschränkung auf die ShopID), dann funktioniert es wie erwartet.
- Wenn in dem SQL, dass in der DiscountList Klasse generiert wird, anstatt ein SELECT IF in Zeile 146/147, ein einfaches IF verwendet wird, umgeht dies ebenso den Sachverhalt.
Viele Grüße,
Ruben Jürgens