Neu dotliquid string to number

gboehm

Sehr aktives Mitglied
30. Januar 2011
1.057
87
Moin zusammen,

ich möchte im Versanddatenexport einen Wert in Abhängigkeit des Versandgewichtes ausgeben.
Nun habe ich Problem damit, dass das Versandgewicht wohl als String vorliegt, ich ihn aber als number benötige.
Google sagte mir, dass das hier eine number ergeben würde.
Code:
{% assign Paketgewicht = '15' | Times: 1 %}
Meine Vergleichsoperationen sehen so aus:
Code:
{% if Paketgewicht > 0.00 and Paketgewicht < 5.00 %}{{ '112' | Csv }}
{% elsif Paketgewicht > 4.99 and Paketgewicht < 10.00 %}{{ '113' | Csv }}
{% elsif Paketgewicht > 9.99 and Paketgewicht < 20.00 %}{{ '114' | Csv }}
{% elsif Paketgewicht > 19.99 and Paketgewicht < 30.00 %}{{ '115' | Csv }}
{% endif %}
wenn ich ihn ausführe ergibt es eine Fehler:
Code:
Liquid error: Ungültige Umwandlung von "System.Single" in "System.Linq.Enumerable+<RepeatIterator>d__113`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]".

Bin für jeden Tipp dankbar, der Licht in mein Dunkel bringt.
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
6.675
1.606
Berlin
Dotliquid reagiert sehr empfindlich auf Leerzeichen, daher mal bitte die Leerzeichen zwischen den Operatoren und variablen/zahlen entfernen
 

gboehm

Sehr aktives Mitglied
30. Januar 2011
1.057
87
die Fehlermeldung ist zwar weg, aber es trifft dann keine der if/else Anweisungen mehr.
Ich habe diese Funktion nun aus dem Versanddatenexport herausgenommen und in mein externes Skript verlagert, welches die Daten letztendlich zum Versanddienstleister hochlädt.
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
6.675
1.606
Berlin
Ich hatte das letztens nicht testen können, da ich keine wawi hatte, nun aber.

So geht es, was die wawi nicht mochte war das quoten
So würde es gehen:

Code:
{% assign Paketgewicht = 15 %}
{% if Paketgewicht > 0.00 and Paketgewicht < 5.00 %}{{ '112' | Csv }}
{% elsif Paketgewicht > 4.99 and Paketgewicht < 10.00 %}{{ '113' | Csv }}
{% elsif Paketgewicht > 9.99 and Paketgewicht < 20.00 %}{{ '114' | Csv }}
{% elsif Paketgewicht > 19.99 and Paketgewicht < 30.00 %}{{ '115' | Csv }}
{% endif %}

wenn die 15 gequoted bleibt müsste das mit ToDouble formatiert werden
Code:
{% assign Paketgewicht = '15'|ToDouble   %}
{% if Paketgewicht > 0.00 and Paketgewicht < 5.00 %}{{ '112' | Csv }}
{% elsif Paketgewicht > 4.99 and Paketgewicht < 10.00 %}{{ '113' | Csv }}
{% elsif Paketgewicht > 9.99 and Paketgewicht < 20.00 %}{{ '114' | Csv }}
{% elsif Paketgewicht > 19.99 and Paketgewicht < 30.00 %}{{ '115' | Csv }}
{% endif %}
 

Ähnliche Themen