Zum Hauptinhalt springen

Vorlagen schreiben

SHIPM8-Vorlagen laufen auf Handlebars. Jede Handlebars-Funktion funktioniert hier, und SHIPM8 legt eigene Helfer zum Formatieren und Umformen darüber.

Einfache Platzhalter​

Setzen Sie einen Feldnamen in doppelte geschweifte Klammern, um seinen Wert einzufügen.

Vorlage

Voyage confirmed for {{vesselName}}, calling at {{port}}.

Daten

{ "vesselName": "Ocean Star", "port": "Rotterdam" }

Ergebnis

Voyage confirmed for Ocean Star, calling at Rotterdam.

Über Listen laufen​

Mit #each laufen Sie über ein Array. Innerhalb des Blocks wechselt der Kontext auf das jeweilige Element.

Vorlage

Port rotation:
{{#each portCalls}}
- {{port}} ETA {{eta}}
{{/each}}

Daten

{
"portCalls": [
{ "port": "Amsterdam", "eta": "2024-03-10" },
{ "port": "Hamburg", "eta": "2024-03-13" },
{ "port": "Antwerp", "eta": "2024-03-15" }
]
}

Ergebnis

Port rotation:
- Amsterdam ETA 2024-03-10
- Hamburg ETA 2024-03-13
- Antwerp ETA 2024-03-15

Aus einer Schleife herausgreifen (root und parent)​

In einem #each-Block zeigt der Kontext auf das aktuelle Element. Mit @root kommen Sie an das oberste Datenobjekt, mit ../ gehen Sie eine Ebene nach oben zum übergeordneten Kontext.

Root-Zugriff

Vessel: {{vesselName}}
{{#each portCalls}}
{{port}} — vessel: {{@root.vesselName}}
{{/each}}

Parent-Zugriff

Vessel: {{vesselName}}
{{#each portCalls}}
{{port}} — vessel: {{../vesselName}}
{{/each}}

Beides liefert dasselbe Ergebnis:

Vessel: Blue Marlin
Amsterdam — vessel: Blue Marlin
Hamburg — vessel: Blue Marlin
Antwerp — vessel: Blue Marlin

Helfer verschachteln (Unterausdrücke)​

Helfer lassen sich mit Klammern ineinander schachteln — Handlebars nennt das Unterausdrücke (sub-expressions). Der innere Ausdruck wird zuerst ausgewertet, sein Ergebnis geht an den äußeren Helfer.

{{leastDecimals (numberFormat cargo.tonnage 'F03')}}

Bei cargo.tonnage = 45000.500 wird die Zahl erst zu 45000.500 formatiert, dann die überflüssige Null entfernt — Ergebnis: 45000.5.

Die vollständige Syntax für Unterausdrücke steht in der Handlebars-Dokumentation.