Hallo, ich möchte meine Versandkosten nach einer eigenen Formel berechnen. Ich habe ein Attribut erstellt wo ich das Volumen eintrage (cbm) und habe bei jedem Artikel das Gewicht hinterlegt. CREATE FUNCTION CALC\_BY\_KG(d.weight FLOAT, b.quantity DOUBLE) RETURNS FLOAT BEGIN DECLARE calculation\_for\_kg FLOAT; IF (d.weight\*b.quantity)\<=200 THEN calculation\_for\_kg=(82/200)\*SUM(d.weight\*b.quantity); ELSEIF (d.weight\*b.quantity)\<=400 THEN calculation\_for\_kg=(82/200)\*0.92\*SUM(d.weight\*b.quantity); ELSEIF (d.weight\*b.quantity)\<=600 THEN calculation\_for\_kg=(82/200)\*0.87\*SUM(d.weight\*b.quantity); ELSE calculation\_for\_kg=(82/200)\*0.82\*SUM(d.weight\*b.quantity); END IF; RETURN calculation\_for\_kg; END; CREATE FUNCTION CALC\_BY\_VOL(at.attr5 FLOAT, b.quantity DOUBLE) RETURNS FLOAT BEGIN DECLARE calculation\_for\_vol FLOAT; IF (at.attr5\*b.quantity)\<=1 THEN calculation\_for\_vol=82\*SUM(at.attr5\*b.quantity); ELSEIF (at.attr5\*b.quantity)\<=2 THEN calculation\_for\_vol=82\*0.92\*SUM(at.attr5\*b.quantity); ELSEIF (at.attr5\*b.quantity)\<=3 THEN calculation\_for\_vol=82\*0.87\*SUM(at.attr5\*b.quantity); ELSE calculation\_for\_vol=82\*0.82\*SUM(at.attr5\*b.quantity); END IF; RETURN calculation\_for\_vol; END; IF CALC\_BY\_KG(d.weight,b.quantity)\>CALC\_BY\_VOL(at.attr5, b.quantity) THEN CALC\_BY\_KG(d.weight,b.quantity); ELSE CALC\_BY\_VOL(at.attr5, b.quantity); END IF;
Leider funktioniert das ganze nicht, ich kann keinen Artikel in den Warenkorb legen, was mache ich falsch?
Gibts denn niemanden der was dazu sagen kann? Mir ist lieber ein “ich habe keine Ahnung” oder “das geht so nicht” als gar keine Antwort.
Hast du das so in das Feld bei den Versandkosten geschrieben? Das was dort hinterlegt ist, wird einfach in eine Select-Anweisung eingebaut, ich glaube nicht, dass Du an der Stelle funktionen definieren kannst.
Also mein Problem ist das unsere Spedition nach zwei Werten geht, einmal Kg und Volumen, je nachdem was mehr ist, wird genommen. Als Beispiel, ein Kleiderschrank wiegt 130KG und hat ein Volumen von 0,21cbm. Die Spedition sagt, bis 150KG kostet der Versand 60€ und bis 0,15cbm 70€, hier würden wir also 70€ berechnen müssen. Intern habe ich einen Frachtkostenrechner programmiert, nur wie bekomme ich diese Berechnung bei Shopware integriert.