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
| Argument | Typ | Beschreibung |
|---|---|---|
| property | string | Die zu prüfende Eigenschaft aus den Daten |
| value | any | Der 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
| Argument | Typ | Beschreibung |
|---|---|---|
| field1 | string | Linker Wert |
| operator | string | Vergleichsoperator (siehe Tabelle unten) |
| field2 | string | Rechter Wert |
| Operator | Beschreibung |
|---|---|
| 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
| Argument | Typ | Beschreibung |
|---|---|---|
| value | any | Der zu prüfende Wert |
| lowerBound | any | Untergrenze (einschließlich) |
| upperBound | any | Obergrenze (einschließlich) |
| fieldType | string | Optional: 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
| Argument | Typ | Beschreibung |
|---|---|---|
| property | string | Die zu prüfende Eigenschaft aus den Daten |
| value | string | Kommagetrennte 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
| Argument | Typ | Beschreibung |
|---|---|---|
| array | array | Das zu prüfende Array |
| property | string | Die zu prüfende Eigenschaft je Element |
| value | any | Der 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
| Argument | Typ | Beschreibung |
|---|---|---|
| array | array | Das zu prüfende Array |
| property | string | Die zu vergleichende Eigenschaft je Element |
| operator | string | Vergleichsoperator (siehe Tabelle unten) |
| value | any | Der Wert, mit dem verglichen wird |
| fieldType | string | Optional: number für einen numerischen Vergleich |
| Operator | Beschreibung |
|---|---|
| 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
| Argument | Typ | Beschreibung |
|---|---|---|
| property | string | Die zu prüfende Eigenschaft |
| allowEmpty | string | Optional: '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
| Argument | Typ | Beschreibung |
|---|---|---|
| propertyName | string | Der 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
| Argument | Typ | Beschreibung |
|---|---|---|
| property | string | Die zu prüfende Zeichenfolge |
| value | string | Der Suchbegriff |
| isCaseInsensitive | string | Optional: 'true' ignoriert Groß-/Kleinschreibung |
| matchPosition | string | Optional: 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}}