Neu Wie schreibe ich in DotLiquid ein "und" und "oder"

Ahok

Mitglied
11. September 2023
108
4
Zum Beispiel für diesen Code:
Code:
{% if Vorgang.Allgemein.PreiseEinheiten.MasseinheitAbk != 'l' ODER 'dl' ODER 'cl' ODER 'ml' ODER 't' ODER 'kg' ODER 'g' ODER 'mg' ODER 'km' ODER 'm' ODER 'dm' ODER 'cm' ODER 'mm' ODER 'm²' ODER 'dm²' ODER 'cm²' ODER 'mm²' ODER 'm³' ODER 'dm³' ODER 'cm³' ODER 'mm³' ODER 'in' ODER 'lb' %}
Grundpreis nicht ausweisungspflichtig!
{% endif %}

Ist diese Doku https://shopify.github.io/liquid/basics/operators/ auch hier anwendbar? Oder ist DotLiquid nicht mit Liquid vergleichbar? Habe das was dort steht versucht, aber es funktioniert nicht.
 
Zuletzt bearbeitet:

zaxxo

Offizieller Servicepartner
SPBanner
29. November 2022
101
37
Michelstadt | Bensheim
Firma
Zaxxo UG (haftungsbeschränkt)
Hi, die grundlegende Syntax ist die gleiche. Lediglich ein paar Filter sind nicht untereinander kompatibel. and und or sind schon richtig. Aber du darfst damit nicht die einzelnen Werte verknüpfen, sondern musst die Bedingung immer wieder neu anfangen, also in etwa so:

Code:
{% if Vorgang.Allgemein.PreiseEinheiten.MasseinheitAbk != 'l' and Vorgang.Allgemein.PreiseEinheiten.MasseinheitAbk != 'dl' and Vorgang.Allgemein.PreiseEinheiten.MasseinheitAbk != 'cl' %}
Grundpreis nicht ausweisungspflichtig!
{% endif %}
 
  • Gefällt mir
Reaktionen: Ahok

Ahok

Mitglied
11. September 2023
108
4
Hi, die grundlegende Syntax ist die gleiche. Lediglich ein paar Filter sind nicht untereinander kompatibel. and und or sind schon richtig. Aber du darfst damit nicht die einzelnen Werte verknüpfen, sondern musst die Bedingung immer wieder neu anfangen, also in etwa so:

Code:
{% if Vorgang.Allgemein.PreiseEinheiten.MasseinheitAbk != 'l' and Vorgang.Allgemein.PreiseEinheiten.MasseinheitAbk != 'dl' and Vorgang.Allgemein.PreiseEinheiten.MasseinheitAbk != 'cl' %}
Grundpreis nicht ausweisungspflichtig!
{% endif %}
Vielen Dank für die Antwort!
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
6.708
1.615
Berlin
Du siehst ja das deine Abfrage dann schnell unübersichtlich wird und später schlecht zu pflegen ist.
Daher würde ich das eher anders aufbauen.

Das wäre meine Idee dazu:

Objective-C:
{% assign out = 'Grundpreis nicht ausweisungspflichtig!' -%}
{% capture aList -%}
dl,
cl,
ml,
t,
kg,
g,
mg
{% endcapture -%}
{% assign aList = aList |Replace:"\s":"" | Split:"," -%}
{% for item in aList -%}
{% if  Vorgang.Allgemein.PreiseEinheiten.MasseinheitAbk == item -%}
{% assign out = '' -%}
{% endif -%}
{% endfor -%}
{{ out }}
 
Zuletzt bearbeitet:

zaxxo

Offizieller Servicepartner
SPBanner
29. November 2022
101
37
Michelstadt | Bensheim
Firma
Zaxxo UG (haftungsbeschränkt)
Ich glaube das kannst du sogar noch weiter vereinfachen:

Code:
{% capture aList -%}
dl,
cl,
ml,
t,
kg,
g,
mg
{% endcapture -%}
{% assign aList = aList |Replace:"\s":"" | Split:"," -%}
{% unless aList contains Vorgang.Allgemein.PreiseEinheiten.MasseinheitAbk -%}
Grundpreis nicht ausweisungspflichtig!
{% endunless -%}

Ich meine zumindest, dass der contains Operator auch mit Arrays umgehen kann, bin mir aber nicht sicher, habe es jetzt auch nicht getestet.
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
6.708
1.615
Berlin
Contains prüft ja, ob ein Teil eines Strings oder eben Zeichen darin vorkommt
daher wäre mir das zu unsicher, dummes Beispiel, er hat in seiner Variable "l" und im Array kommt "ml", dann würde contains das als gefunden werten.

Ist wie gesagt ein dummes Beispiel, weil er ja auch auf "l" prüft aber wer weiß was da noch alles so an Werten im Bezug auf den Array geprüft wird.
 

zaxxo

Offizieller Servicepartner
SPBanner
29. November 2022
101
37
Michelstadt | Bensheim
Firma
Zaxxo UG (haftungsbeschränkt)
Ich meine, dass DotLiquid schaut, ob der linke Teil ein Array ist, wenn ja dann wird nach einem Element gesucht, welches dem rechten Teil gleicht. Also DotLiquid achtet schon auf den Datentyp. Dachte ich zumindest immer :)
 

css-umsetzung

Offizieller Servicepartner
SPBanner
6. Juli 2011
6.708
1.615
Berlin
Ich teste mal schnell....
Ja du hast recht, contains kann da wirklich unterscheiden, hab es gerade getestet :)

Ich bezeichne dotLiquid ja immer als Neandertalsprache weil das immer so zickig ist :)

Also dann ist es natürlich noch übersichtlicher und in jedem Fall besser als da 100 and Verknüpfungen zu bauen
 
  • Gefällt mir
Reaktionen: zaxxo
Ähnliche Themen
Titel Forum Antworten Datum
Neu Wo und wie finde ich meine Kunden mit einer Marketing-Permission? JTL-Shop - Ideen, Lob und Kritik 0
Neu Wie stelle ich ohne viel Aufwand fest, ob meine Plugins nach einem Update für JTL Shop 5.3.1 geeignet ist ? JTL-Shop - Ideen, Lob und Kritik 4
Neu Wie kann man Anzahl der VPE per SQL abfragen? User helfen Usern - Fragen zu JTL-Wawi 1
Neu Attribute wie Farbe und Größe lassen sich nicht filtern WooCommerce-Connector 0
Konsignationslager beim / für Kunden einrichten, aber wie? :) JTL-Wawi 1.8 2
Neu Wie kann ich mit der Wawi Ebay Rechnungen erstellen und nach ebay hochladen? eBay-Anbindung - Fehler und Bugs 3
Wie Druckvorlagen Set z.B. für Versandetiketten wechseln? JTL-Wawi 1.7 1
Wie schalt ich den worker Client aus auf den Server wegen Update JTL-Wawi 1.8 1
Neu Wie gebrauchte Waren bei Ebay einstellen? Workflow User helfen Usern - Fragen zu JTL-Wawi 0
Neu Category by ID - WIE? Templates für JTL-Shop 6
Wie kann ich etwas in der WAWI Datenbank per SQL ändern? JTL-Wawi 1.8 2
Workflow Manuell HTML Request wie Server Antwort verarbeiten JTL-Wawi 1.7 0
Trackinglink enthält Hashtag - wie eingeben? JTL-Wawi 1.8 0
Neu Wie setzt Ihr eure Dev/Staging Umgebungen auf? Betrieb / Pflege von JTL-Shop 0
Neu Fehler: Sonderpreis falsch formatiert, wird nicht importiert; obwohl importiert genau wie exportiert User helfen Usern - Fragen zu JTL-Wawi 0
Neu Wie erstelle ich das richtige Layout für handy, Desktop etc Allgemeine Fragen zu JTL-Shop 0
Neu Wie gut ist die Datenbanksynchronisation? JTL-Wawi - Ideen, Lob und Kritik 4
Neu Wie kann ich im JTL-Shop einen Abwesenheitshinweis einstellen? Allgemeine Fragen zu JTL-Shop 1
Neu Artikelpreise Verknüpfen (ähnlich wie Stücklisten) User helfen Usern - Fragen zu JTL-Wawi 0
Neu Wie kann ich eine Inventurliste als Excel- oder csv-Datei erstellen? Gelöste Themen in diesem Bereich 3
Wie kann ich eine Benachrichtigung bei einem Wareneingang auslösen mit einer Mail über die Artikel die eingebucht wurden JTL-Wawi 1.8 2
Neu Conrad anbindung an JTL / eazy auction, aber wie? User helfen Usern - Fragen zu JTL-Wawi 4
[JTL-WAWI API] Wie funktioniert die Item-Image API? JTL-Wawi 1.8 0
Neu Wie kann ich die vergebene Coupons sehen. Welche Kunde welchen Copoun Allgemeine Fragen zu JTL-Shop 0
Neu Wie kann ich Alt-Texte für Bilder an Shopify senden? Shopify-Connector 2
Neu Wawi Artikelattribut = externer Link wie am besten darstellen beim Artikel? Allgemeine Fragen zu JTL-Shop 0
Neu Expressbearbeitung-Gebühr. Wie realisieren? Allgemeine Fragen zu JTL-Shop 1
Zusatzkosten wie Zölle JTL-Wawi 1.7 2
Neu Wie Wawi (Kundendaten) zurücksetzen User helfen Usern - Fragen zu JTL-Wawi 10
Ich habe auf NOVA umgestellt aber PayPal funktioniert nicht Einrichtung JTL-Shop5 1
Neu - Lieferzeit in Wochen / Monaten statt Tagen SHOP-4080 - wo finde ich diese Möglichlichkeit im Admin Bereich Installation / Updates von JTL-Shop 2
Neu Wo kann ich einstellen, welche Rechnungsvorlage "gezogen" wird Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 13
Kann ich eine email an die Wawi senden durch die dann ein neuer Auftrag generiert wird? (Daten müssen händisch vervollständigt werden...) JTL-Wawi 1.8 2
Verwiesen an Support wo finde ich die Logdatei von den Workflows JTL-Workflows - Fehler und Bugs 9
Gelöst Zebra T21 Scanner mit Installierten JTL POS 1.0.9.3 beim Bon versuche Ich einfach zu Scannen er sucht aber kein Artikel JTL-POS - Fehler und Bugs 1
Neu Kostenloses Webinar: BWA – Leg ich ab? Richtiges lesen einer BWA zur Unternehmenssteuerung im Onlinehandel Smalltalk 0
Kein Abgleich zum Shop, ich komme nicht in Plattformen/Verkaufskanäle rein JTL-Wawi 1.8 3
Was mache ich falsch? Kaufland API meldet - already exists kaufland.de - Anbindung (SCX) 1

Ähnliche Themen