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

Ahok

Gut bekanntes Mitglied
11. September 2023
266
10
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
135
59
Michelstadt
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

Gut bekanntes Mitglied
11. September 2023
266
10
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
8.000
2.273
Berlin
Firma
css-umsetzung
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
135
59
Michelstadt
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
8.000
2.273
Berlin
Firma
css-umsetzung
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
135
59
Michelstadt
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
8.000
2.273
Berlin
Firma
css-umsetzung
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 Wawi Abonnements, wie automatisiert vorgehen? best practice? Wawi 1.10.14.3 User helfen Usern - Fragen zu JTL-Wawi 0
Neu Frage in die Runde, wie handhabt ihr einen Datenrestore? Arbeitsabläufe in JTL-Wawi 17
Neu Wie TITLE-TAG exportieren? Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 3
Neu Nach Update auf neueste Shop-Version – Datenbank plötzlich leer / Wie weiter? Backup, Rollback oder neu aufsetzen? JTL-Shop - Fehler und Bugs 9
Neu Kassensysteme der Zukunft – wie gut sind aktuelle Lösungen auf kommende Anforderungen vorbereitet? Starten mit JTL: Projektabwicklung & Migration 1
Worker 2 Dienst läuft aber mehr nicht || Wie Worker 2 extern überwachen? JTL-Wawi 1.10 8
Neu NOVA Child-Template funktioniert nicht wie erwartet jtlshop 5.6 Templates für JTL-Shop 2
Neu eBay-Angebote: Herstellernummer wird automatisch auf 'Nicht zutreffend' gesetzt - wie verhindern? eBay-Anbindung - Fehler und Bugs 0
Neu Artikelsuche mit % Platzhalter funktioniert nicht mehr (wie früher) JTL-Wawi - Fehler und Bugs 6
Große custom.css, wie geht es einfacher? Einrichtung JTL-Shop5 1
Neu Wie lege und inseriere ich sehr ähnliche Artikel so effizient wie möglich auf eBay und Shopify User helfen Usern - Fragen zu JTL-Wawi 0
Neu Lageroption Stückzahl nicht teilbar - wie an Kindartikel vererben ? User helfen Usern - Fragen zu JTL-Wawi 7
Neu Wie kommen die Versandarten aus JTL-Wawi in den JTL-Shop? Betrieb / Pflege von JTL-Shop 7
Neu Gutscheine an JTL POS ohne Voucher - wie macht Ihr das? User helfen Usern - Fragen zu JTL-Wawi 1
Neu Wie starte ich JTL WMS Installation von JTL-WMS / JTL-Packtisch+ 1
Neu Eine Rechnungsposition auf zwei Teilrechnungen berechnen - Wie löst ihr das? Arbeitsabläufe in JTL-Wawi 7
Neu bei bestimmten Kunden muss die Rechnung beigelegt werden / wie erfolgt dies? Arbeitsabläufe in JTL-Wawi 8
Kundenstammdaten: Wie erkenne ich in der Wawi, ob ein Shop-Kunde ein Kundenkonto angelegt hat? JTL-Wawi 1.9 2
Neu Auswahl im JTL Shop - keine Rechnung beilegen - wie in Wawi einlesen ? User helfen Usern - Fragen zu JTL-Wawi 6
Neu Workflows: Wie genau funktioniert die Ausliefern-Aktion User helfen Usern - Fragen zu JTL-Wawi 4
Neu Buchhaltung, Controlling etc. - Wie macht ihr das? User helfen Usern - Fragen zu JTL-Wawi 3
Neu JTL POS: wie Position Übersicht neben dem Eingabebereich? User helfen Usern - Fragen zu JTL-Wawi 0
Neu Shopify Basic mit JTL? Wie einrichten? Ist der JTL Guide noch aktuelle wegen PII Einschränkung? Shopify-Connector 2
Neu B2B Preis für JTL Wawi -> Amazon aktivieren, nur wie? User helfen Usern - Fragen zu JTL-Wawi 4
Neu Verwendung mehrerer Artikeletikett Vorlagen, wie auswählen? Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 6
Neu Wie exportiere ich Artikel ohne Lieferanten richtig? JTL Ameise - Eigene Exporte 0
Artikel mit Freitext Variation - oder wie "kundenindividuelle Artikel" handhaben? JTL-Wawi 1.10 1
Neu Kommissionsware --> via Chargen --> saubere Lagerbewerung aber wie? User helfen Usern - Fragen zu JTL-Wawi 7
Neu Wawi 2.0.... Hab ich was verpasst? ;-) Eigene Übersichten in der JTL-Wawi 1
Neu Kartenzahlung mit Zettle / Wo finde ich einen Transaktionscode in der Datenbank? Allgemeine Fragen zu JTL-POS 0
Kann ich mit dieser SQL Version die neue WaWi 1.11.1 installieren? JTL-Wawi 1.11 2
Ich möchte den Bestand der Verpackungskartons im System verwalten und nachverfolgen JTL-Wawi 1.10 2
Neu In welcher SQL Tabelle finde ich den Ansprechpartner des Herstellers? User helfen Usern - Fragen zu JTL-Wawi 2
Ich möchte den Einkaufspreisverlauf eines Produkts JTL-Wawi 1.10 1
Neu Bekomme ich hier im Forum für mein Projekt Support? User helfen Usern 8
Neu Im Shop-Backend (5.5.3) erhalte ich bei einigen Menüpunkten "HTTP 500 Error" Seiten Allgemeine Fragen zu JTL-Shop 2
Neu Wo kann ich folgendes Wort übersetzen? Allgemeine Fragen zu JTL-Shop 2

Ähnliche Themen