Anleitung

Daten einsetzen

Setzen Sie Werte aus Ihrem JSON in die Vorlage, wiederholen Sie Zeilen für Listen und zeigen Sie Teile nur, wenn ein Feld gesetzt ist.

Auf dieser Seite

Community

Brevier setzt Daten mit Handlebars-Tags ein. Es unterstützt die Teile von Handlebars, die ein Dokument braucht, und ist strenger: Ein Feld, das es nicht gibt, ist ein Fehler und keine leere Stelle.

Werte

{{ pfad }} gibt einen Wert aus. Punkte im Pfad führen in Objekte hinein.

data.json
{ "kunde": { "name": "Erika Mustermann", "ort": "50667 Köln" } }
<p>{{ kunde.name }}, {{ kunde.ort }}</p>

Brevier maskiert jeden Wert. Ein < in Ihren Daten erscheint als < und wird nie zu HTML.

Fehlt ein Feld, bricht der Aufruf ab. Die Meldung nennt das Feld und die Zeile in der Vorlage:

Error: Missing field 'kunde.strasse' at line 2

Ein Name mit Leerzeichen oder Bindestrich steht in eckigen Klammern: {{ [Rechnungs-Nr.] }}, {{ kunde.[first name] }}.

{{! Notiz }} ist ein Kommentar und wird nicht ausgegeben. Enthält die Notiz selbst }}, schreiben Sie {{!-- Notiz --}}.

Formatierer

Ein Formatierer ändert, wie ein Wert erscheint. Er steht hinter einem |.

<td>{{ betrag | money }}</td>

Die Formatierer-Referenz listet alle 12 Formatierer und die Summen, etwa sum, mit je einem Beispiel auf.

Listen

{{#each liste}} wiederholt seinen Inhalt einmal für jeden Eintrag. In der Schleife sucht ein Pfad zuerst im aktuellen Eintrag, dann in den gesamten Daten.

<tbody>
  {{#each rechnung.positionen}}
  <tr><td>{{ @index }}</td><td>{{ text }}</td><td>{{ betrag | money }}</td></tr>
  {{/each}}
</tbody>

Auch Namen wie {{ this }}, {{ @index }}, {{ ../name }} und {{ @root.name }} gibt es in der Schleife. Die Referenz zur Vorlagensyntax listet sie alle auf.

Für eine leere Liste ergänzen Sie {{else}}:

{{#each rechnung.positionen}}
  <p>{{ text }}</p>
{{else}}
  <p>Keine Positionen.</p>
{{/each}}

Bedingungen

{{#if pfad}} zeigt seinen Inhalt nur, wenn der Wert gesetzt ist. {{#unless pfad}} zeigt ihn nur, wenn der Wert nicht gesetzt ist.

{{#if kunde.firma}}
  <p>{{ kunde.firma }}</p>
{{else if kunde.name}}
  <p>{{ kunde.name }}</p>
{{else}}
  <p>Privatkunde</p>
{{/if}}

{{#unless rechnung.bezahlt}}<p>Offen</p>{{/unless}}

Welche Werte als nicht gesetzt gelten, steht in der Referenz zur Vorlagensyntax.

Eine Menge von 0 ist oft ein echter Wert. Mit includeZero=true wird sie angezeigt:

{{#if menge includeZero=true}}<td>{{ menge }}</td>{{/if}}

Kurze Namen für ein Objekt

{{#with objekt}} macht die Felder eines Objekts unter ihren kurzen Namen verfügbar. {{else}} greift, wenn das Objekt nicht gesetzt ist.

{{#with kunde}}
  <p>{{ name }}, {{ ort }}</p>
{{else}}
  <p>Kein Kunde.</p>
{{/with}}

Was Brevier nicht unterstützt

Handlebars-Funktion Stattdessen
{{{ html }}} Rohe Ausgabe gibt es in Vorlagen noch nicht.
Helper und Teilausdrücke Formatierer, etwa {{ preis | money }}.
Partials Nicht unterstützt.