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

Ahok

Mitglied
11. September 2023
137
6
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
38
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
137
6
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.943
1.740
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
38
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.943
1.740
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
38
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.943
1.740
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 Umlagerungen - Wie, wo, oder SQL? Arbeitsabläufe in JTL-Wawi 2
Neu Täglich ganz viele Suchanfragen mit EAN Nummern - Wie aussperren? Allgemeine Fragen zu JTL-Shop 2
Neu Anhänge wie Widerruf und AGB usw. User helfen Usern - Fragen zu JTL-Wawi 0
Neu Wie kann ich verhindern, dass ein Auftrag den verfügbaren Lagerbestand beeinflusst? JTL-Wawi - Ideen, Lob und Kritik 1
Neu Wie binde ich GooglePay über PayPal Checkout an? Plugins für JTL-Shop 2
Frage: 🐌🐌🐌JTL-Wawi 1.9 - Wie schnell öffnet sich bei euch die Auftragsansicht? JTL-Wawi 1.9 76
Neu Tabelle Tbestseller verschwunden - wie bekomme ich die wieder? Gelöste Themen in diesem Bereich 3
Neu Wie aufwendig wäre es wenn man einen 2ten Warenkorb implementiert? JTL-Shop - Ideen, Lob und Kritik 0
Beantwortet Dashboard - Ansicht einer geänderten Tabelle (zB Verkauf) dauerhaft speichern ... Wie? User helfen Usern - Fragen zu JTL-Wawi 0
Beantwortet Workflow wie für verschiedene Druckausgaben? JTL-Workflows - Ideen, Lob und Kritik 1
Neu Wie lange werden alte Bestellungen aus Amazon importiert? Amazon-Anbindung - Fehler und Bugs 2
Neu Teil der Bestellung stornieren bevor Auslieferung. Wie? User helfen Usern - Fragen zu JTL-Wawi 4
In Bearbeitung Versand zusammenfassen nicht wie erwartet JTL-Workflows - Fehler und Bugs 2
Neu Wie sehen eure Nummernkreise aus? User helfen Usern - Fragen zu JTL-Wawi 5
Neu Wichtige Statistiken im JTL Shop auswerten, wie? Allgemeine Fragen zu JTL-Shop 2
Neu Wie werden Varianten ausgedruckt? Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Nova einige Fontawaysome Icon werden nicht angezeigt wie Whatsapp oder Paypal Templates für JTL-Shop 0
Neu Export von Kategorien - Sichtbarkeit andere wie in der WAWI JTL-Ameise - Fehler und Bugs 7
Neu WMS Mobile picken - wie kann ich Pickreihenfolge umdrehen ? User helfen Usern - Fragen zu JTL-Wawi 2
Neu In bestimmten Artikel, bestimmte Feld wie z.B. Preis für den Ameisen-Import per CSV blockieren Schnittstellen Import / Export 4
Neu Unterschiedliche Standorte, wie löst ihr den Rechnungsdruck? Starten mit JTL: Projektabwicklung & Migration 7
Neu 2. Filiale - wie in JTL umsetzen ? User helfen Usern - Fragen zu JTL-Wawi 1
Neu 2 Warengruppen teilen sich die Kategorien, wie 2 Buttons pro Warengruppe im Megamenü? Allgemeine Fragen zu JTL-Shop 2
Neu per Bat Datei Sprachausgabe -> wie TON anschalten ? Gelöste Themen in diesem Bereich 6
Neu Wie finde ich die Shop-Variablen? Betrieb / Pflege von JTL-Shop 4
Neu Lieferzeit in der Bestellbestätigung (Shop) ohne Berücksichtigung der Werktage. Wie korrigieren? JTL-Shop - Ideen, Lob und Kritik 6
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 1
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 4
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 Kann ich das alte EVO-Template löschen? Templates für JTL-Shop 1
Neu Farbe setzen funktioniert nach dem Updaten anders als früher. Was kann ich dagegen tun? Arbeitsabläufe in JTL-Wawi 0
Neu E-Mail Bestellung versandt wird nur verschickt, wenn ich Zahlung bestätige (keine Vorkasse) JTL-Shop - Fehler und Bugs 0
Beantwortet Brauch ich pro Belegtyp 2 Druckvorlagen? Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Nach SW6 Initialimport, was mache ich mit diesen Attributen? Shopware-Connector 0
Gelöst Wird die Anzahl der Kassenlade-Öffnungen irgendwo erfasst? Wenn ja, wo finde ich die Angabe? Allgemeine Fragen zu JTL-POS 6
Bin ich es der wahnsinnig ist oder die neue 1.9.4.1? JTL-Wawi 1.9 15

Ähnliche Themen