Komplexe Versandkosten mit Attributen, Anzahl und Längen

Hallo, folgende Problematik versuche ich schon seit einiger Zeit zu lösen, jedoch vergebens, deshalb wende ich mich jetzt hoffnungsvoll an das Forum. Es geht um eine komplexe Berechnung von Versandkosten. Diese sollen berechnet werden nach folgendem Schema: Bei Artikel’n “Fenstergitter” soll der erste 50€ und jedes weitere 20€ Versandkosten berechnen. Bei Artikel’n “Handlauf” sollen 10€ berechnet werden, wenn die Länge unter 1000mm beträgt und 20€ wenn die Länge über 1000mm beträgt. -------------------------------------------- Mein Lösungsansatz ist bisher dieser: Es gibt das Artikel-Attribut “attr12” für Versandgruppe “Fenstergitter” und es gibt “attr13” für Versandgruppe “Handlauf”. Jeder Artikel hat nun entweder bei “attr12” eine “1” oder bei “attr13” eine “1”, je nachdem ob er ein Fenstergitter oder ein Handlauf ist. Dann habe ich in den Grundeinstellungen bei “Versandkosten-Modul” folgendes hinzugefügt: “MAX(at.attr12) as versandgruppe_zwei, MAX(at.attr13) as versandgruppe_drei” Und danach eine Aufschlag-Versandregel in den Versandkosten erstellt - erstmal für die Fenstergitter. Mit der Berechnung nach: “Eigene Berechnung”. Als Faktor habe ich “0.1” eingetragen. Im Feld “Eigene Bedingungen” steht jetzt ‘versandgruppe_zwei=“1”’ und in den “Eigene Berechnung”: “(50.00+(20.00*SUM(at.attr12)*(b.quantity-1)))*1000” Wenn ich jetzt aber zwei verschiedene Fenstergitter in den Warenkorb reinlege, zeigt er 50€ statt 70€. Auch wenn man die Artikelanzahl verändert, scheint es nur bei dem ersten Artikel im Warenkorb etwas auszurichten. Der nächste Schritt mit den Handläufen und den Längen wird sicher auch nicht einfach werden. -------------------------------------------- Ich hoffe jemand weiß zu diesem Problem einen Rat und kann mir weiterhelfen. Vielen Dank schon einmal im Vorraus. Martin -------------------------------------------- Shopware Version 4.1.3

Es muss doch möglich sein, die Anzahl aller Artikel mit dem Attribut “attr12” im Warenkorb in den Versandkosten auszulesen. Dies funktioniert leider auch nicht: (50.00+(20.00*(SUM(IF(at.attr12=“true”, b.quantity, 0))-1)))*1000 Und das verursacht einen “503 Fehler”: (50.00+(20.00*((SELECT b.quantity FROM s_articles_attributes WHERE articleID=a.id AND attr12=‘1’)-1)))*1000

Hat denn keiner einen Lösungsvorschlag oder eine Idee?

Hey Du Martin. Hast du zufällig eine Lösung gefunden? Ich habe ähnliche Versandkostenberechnungen. Wäre toll wenn du deine Lösung hier posten könntest.