Zum Hauptinhalt springen

Bedingte Logik

Mit Logikhelfern nehmen Sie Vorlageninhalte je nach Feldwert, Vergleich, Listenzugehörigkeit oder Textmuster auf oder lassen sie weg.

ifEquals

Prüft, ob eine Eigenschaft einem bestimmten Wert entspricht. Groß-/Kleinschreibung zählt.

ifEquals property value
ArgumentTypBeschreibung
propertystringDie zu prüfende Eigenschaft aus den Daten
valueanyDer Wert, mit dem verglichen wird

Beispiel

{{#ifEquals vessel.name 'Ocean Star'}}
Welcome back, Ocean Star!
{{else}}
Unknown vessel.
{{/ifEquals}}

ifCompares

Vergleicht zwei Werte mit einem Vergleichsoperator. Verglichen wird als Text, außer beide Werte sind Zahlen.

ifCompares field1 operator field2
ArgumentTypBeschreibung
field1stringLinker Wert
operatorstringVergleichsoperator (siehe Tabelle unten)
field2stringRechter Wert
OperatorBeschreibung
eq oder == oder =field1 ist gleich field2
noteq oder != oder <>field1 ist ungleich field2
lt oder <field1 ist kleiner als field2
lteq oder <=field1 ist kleiner oder gleich field2
gt oder >field1 ist größer als field2
gteq oder >=field1 ist größer oder gleich field2

Beispiel

{{#ifCompares cargo.tonnage '>' '50000'}}
Heavy cargo — notify port authority.
{{/ifCompares}}

ifBetween

Prüft, ob ein Wert in einem Bereich liegt (beide Grenzen einschließlich).

ifBetween value lowerBound upperBound fieldType
ArgumentTypBeschreibung
valueanyDer zu prüfende Wert
lowerBoundanyUntergrenze (einschließlich)
upperBoundanyObergrenze (einschließlich)
fieldTypestringOptional: number für einen numerischen Vergleich

Beispiel

{{#ifBetween cargo.tonnage '10000' '75000' 'number'}}
Tonnage within standard range.
{{else}}
Tonnage outside standard range.
{{/ifBetween}}

ifInArray

Prüft, ob ein Eigenschaftswert in einer kommagetrennten Liste vorkommt. Groß-/Kleinschreibung zählt.

ifInArray property value
ArgumentTypBeschreibung
propertystringDie zu prüfende Eigenschaft aus den Daten
valuestringKommagetrennte Liste der Vergleichswerte

Beispiel

{{#ifInArray portcall.portName 'Amsterdam,Rotterdam,Antwerp'}}
ARA range port confirmed.
{{else}}
Port outside ARA range.
{{/ifInArray}}

ifAny

Prüft, ob irgendein Element eines Arrays eine Eigenschaft mit einem bestimmten Wert hat.

ifAny array property value
ArgumentTypBeschreibung
arrayarrayDas zu prüfende Array
propertystringDie zu prüfende Eigenschaft je Element
valueanyDer Wert, auf den geprüft wird

Beispiel

{{#ifAny portcall.vessels 'cargoType' 'LNG'}}
LNG handling procedures apply.
{{/ifAny}}

ifAnyCompares

Prüft, ob irgendein Element eines Arrays eine Eigenschaft hat, die einen Vergleich erfüllt.

ifAnyCompares array property operator value fieldType
ArgumentTypBeschreibung
arrayarrayDas zu prüfende Array
propertystringDie zu vergleichende Eigenschaft je Element
operatorstringVergleichsoperator (siehe Tabelle unten)
valueanyDer Wert, mit dem verglichen wird
fieldTypestringOptional: number für einen numerischen Vergleich
OperatorBeschreibung
eq oder == oder =Eigenschaft ist gleich dem Wert
noteq oder != oder <>Eigenschaft ist ungleich dem Wert
lt oder <Eigenschaft ist kleiner als der Wert
lteq oder <=Eigenschaft ist kleiner oder gleich dem Wert
gt oder >Eigenschaft ist größer als der Wert
gteq oder >=Eigenschaft ist größer oder gleich dem Wert

Beispiel

{{#ifAnyCompares shipments 'tonnage' '>=' '50000' 'number'}}
At least one shipment meets minimum tonnage threshold.
{{else}}
No shipments meet the minimum tonnage threshold.
{{/ifAnyCompares}}

ifIsNotNull

Prüft, ob eine Eigenschaft nicht null ist. Wahlweise gelten auch leere Zeichenfolgen als null.

ifIsNotNull property allowEmpty
ArgumentTypBeschreibung
propertystringDie zu prüfende Eigenschaft
allowEmptystringOptional: 'true' behandelt leere Zeichenfolgen als null

Beispiel

{{#ifIsNotNull portcall.agent}}
Agent on record: {{portcall.agent}}
{{else}}
No agent assigned.
{{/ifIsNotNull}}

{{#ifIsNotNull portcall.agent 'true'}}
Agent on record: {{portcall.agent}}
{{else}}
No agent assigned (empty counts as null).
{{/ifIsNotNull}}

ifPropertyExists

Prüft, ob es einen Eigenschaftsschlüssel an einem Objekt gibt, unabhängig vom Wert — auch null, 0, false und eine leere Zeichenfolge bestehen diese Prüfung.

ifPropertyExists propertyName
ArgumentTypBeschreibung
propertyNamestringDer gesuchte Eigenschaftsname

Beispiel

{{#ifPropertyExists 'eta'}}
ETA field is present.
{{else}}
ETA field is missing from this record.
{{/ifPropertyExists}}

Nehmen Sie das, wenn Sie unterscheiden müssen, ob ein Feld fehlt oder schlicht null beziehungsweise leer ist.


ifStringIsMatch

Prüft, ob eine Zeichenfolge zu einem Wert passt, mit Optionen für Groß-/Kleinschreibung und Trefferposition. Standardmäßig zählt die Groß-/Kleinschreibung.

ifStringIsMatch property value isCaseInsensitive matchPosition
ArgumentTypBeschreibung
propertystringDie zu prüfende Zeichenfolge
valuestringDer Suchbegriff
isCaseInsensitivestringOptional: 'true' ignoriert Groß-/Kleinschreibung
matchPositionstringOptional: starts, ends, exact — oder weglassen für einen Treffer irgendwo im Text

Beispiel

{{#ifStringIsMatch vessel.name 'Nordic'}}
Nordic fleet vessel detected.
{{else}}
Vessel name does not contain 'Nordic'.
{{/ifStringIsMatch}}

{{#ifStringIsMatch portcall.portName 'hamburg' 'true' 'ends'}}
Destination is Hamburg.
{{/ifStringIsMatch}}