Ich möchte, dass bei einm Artikel mit einer Länge von z.B.: 999 cm die Ausweichversandart “Speditionsversand” ausgewählt wird. Außerdem möchte ich erreichen wenn der Artikel eine Länge von 9999 cm hat, dass dann die Versandkosten 19,90 € betragen.
Dies wollte ich so umsetzten:
Erweiterte Einstellungen des Speditionsversandes / Feld “Eigene Berechnungen”:
IF(d.length > 9998, 19.90,0.00)
Leider wirde jetzt auch bei allen anderen Artikeln diese Ausweichversandart selektiert.
Den zweiten Ansatz den ich verfolgt habe, ist zwar nicht so schön, wäre aber gerade noch aktzeptabel gewesen:
Ich habe zwei Freitextfelder generiert (Speditionsversand1 und Speditionsversand2), nun habe ich eine SQL Erweiterung im Versandkostenmodul hinterlegt:
, MAX(at.attr6="1") AS Speditionsversand1, MAX(at.attr7="1") AS Speditionsversand2
Im Feld Eigene Bedingungen steht dann noch
Speditionsversand1="1"
oder je nach dem um welchen Artikel es sich handelt:
Speditionsversand2="1"
Leider öffnet sich danach der Warenkorb gar nicht mehr…
Hat jemand einen Lösungsvorschlag für mich wie ich dies bewerkstelligen kann?
Die Berechnung funktioniert, wenn ich nur einen Artikel in den Warenkorb lege. Sobald ich zwei oder mehr Artikel in den Warenkorb lege, werden die Versandkosten auf Basis der Länge der ersten Position im Warenkorb berechnet, nicht aufgrund des längsten Artikels im Warenkorb.
In der erweiterten SQL-Abfrage habe ich
MAX(d.length) AS has_sperrgut
eingegeben und has_sperrgut zusätzlich als Bedingung eingetragen. Das gleiche Problem hab ich aber auch ohne.
Super, jetzt funktioniert es! Ich habe gestern den ganzen Abend damit verbracht, aber wäre nie auf die Idee gekommen, daß MAX nochmal in das Berechnungsfeld zu schreiben, weil ich es ja schon in die Grundeinstellungen/Storefront/Versandkosten-Modul mit
CAST(MAX(d.length)AS SIGNED) AS has_sperrgut
eingetragen hatte.
Jetzt hab ich folgendes in der eigenen Berechnung stehen:
IF (MAX(d.length) <160,0,
IF (MAX(d.length) <201,15,
IF (MAX(d.length) <251,25,
IF (MAX(d.length) <301,38,0))))
Vielleicht hilft es ja jemandem weiter.
Vielen, vielen Dank nochmal für die Hilfe!