Hallo zusammen,
ich versuche dringend unsere Versandarten nach bestimmten Artikeln zu filtern und komme mit der offiziellen Dokumentation gar nicht weiter und mit diesem Forenbeitrag (https://forum.shopware.com/discussion/43387/versandkosten-eigene-bedingungen) immerhin ein Stückchen. Der Letzte Schritt fehlt aber noch, da die eigene Bedingung von den Versandarten ignoriert wird.
Fall: Versandart A soll angezeigt werden, wenn wenigstens ein Artikel mit zB der Artikelnummer “P-XXX” enthalten ist und Versandart B, wenn kein Artikel dieses Typs enthalten ist. Dafür habe ich aktuell folgende Bedingungen eingebaut.
Versandart A
(SELECT MAX(IF(sob.ordernumber LIKE 'P-%', 1, 0)) FROM s_order_basket sob
WHERE sob.sessionID = b.sessionID) = 1
Versandart B
(SELECT MAX(IF(sob.ordernumber LIKE 'P-%', 1, 0)) FROM s_order_basket sob
WHERE sob.sessionID = b.sessionID) = 0
Trotz dieser Bedingungen werden beide Versandarten angezeigt, wenn ich einen Artikel mit der ordernumber ‘P-18’ im Warenkorb habe. Die Abfrage selbst funktioniert als Query auf der Datenbank und führt zu den korrekten Ergebnissen 0 und 1.
Die Dokumenation hier (Shopware 5 - Versand- & Zahlungsarten - Individuelle Versandkosten) ist auf jeden Fall schon einmal gänzlich falsch, da die Tabellen a, d und at überhaupt nicht abgefragt und als Daten zur Verfügung gestellt werden.
Kann mir jemand sagen wo das Problem liegt?