Hallo Community,
ich arbeite an der Funkion zur individuellen Versandkostenberechnung in einem Shop und es liegen folgende Bedingungen vor:
- Die Artikel im Shop sind gegliedert in normale Artikel mit Versandkosten und versandkostenfreie/ ESD Artikel
- Versandkosten werden berechnet zwischen 0 - 50€
- Bei einem Mischwarenkorb zwischen versandkostenfreien/ ESD Artikeln und “normalen” Artikeln sollen erstere nicht in der Versandkostenberechnung berücksichtigt werden
Beispiel - SOLL Zustand:
-
normaler Artikel - 45€
-
versandkostenfreier Artikel - 10€
Gesamt: 55€ -> Versandkosten fallen an -
normaler Artikel - 55€
-
versandkostenfreier Artikel - 10€
Gesamt: 65€ -> Versandkosten fallen nicht an
Beispiel - IST Zustand:
- normaler Artikel - 45€
- versandkostenfreier Artikel - 10€
Gesamt: 55€ -> Versandkosten fallen nicht an
Um die Versandkostenkalkulation anzupassen bin ich nach folgenden Tutorials vorgegangen:
Folgende Schritte habe ich durchgeführt:
-
Aktivierung des Freitextfeldes “attr4” als Checkbox INT(1) - Einstellungen > Freitextfeld-Verwaltung
-
Neugenerierung der Doctrine Models - Einstellungen > Freitextfeld-Verwaltung
-
Aktivierung vom “attr4” bei allen Artikeln, die von der Versandkostenberechnung ausgeschlossen werden sollen
-
Konfiguration der Versandkosten:
-
Versandkosten-Berechnung nach: Eigene Berechnung
-
Tab “Versandkosten”: Von 0 - beliebig | Versandkosten NULL | Faktor 100
-
Tab “Erweitere Einstellungen”:
Eigene BerechnungIF(SUM(IF(at.attr4!=1,b.price*b.quantity,0))<50,3.9,0)
-
Überprüfung der attr4-Artikel in der Datenbank. Alle attr4-Artikel haben in der “s_articles_attributes” den Wert korrekt auf 1 gesetzt
Während diesen Schritten wurde der Shopware-Cache regelmäßig geleert und alle Einstellungen korrekt gespeichert.
Leider greift die IF Bedingung zum attr4 nicht in der Versandkostenberechnung. Ändere ich in der ersten IF Bedingung 3.9 in einen X-Belieben anderen Wert, so erscheint dieser Korrekt in der Berechnung. Die eigene Berechnung wird also verwendet, lediglich die Prüfung auf attr4 Artikel und deren Ausschluss findet nicht statt.
Vielleicht hatte ja jemand bereits ein ähnliches Problem und kann mir einen hilfreichen Tipp geben. Ich wäre sehr dankbar für einen Tipp.
Zum Abschluss noch ein paar Randinfos zum Shop:
Shopware: 5.4.3
PHP: 7.0-latest FPM (P+)
MySQL: 5.7.18
Sollten Daten fehlen, die für einen nützlichen Hinweis ergänzt werden müssen, liefere ich diese natürlich nach.
Danke für eure Zeit und viele Grüße,
Jonas