Markdown-Vorlagenvariablen verwenden
Willkommen zu diesem Tutorial! Wir lernen Schritt für Schritt, wie Sie mit Markdown und der Handlebars-Template-Engine dynamische Inhalte anzeigen. In „Tipps zum Markdown-Block" haben Sie bereits Grundlagen, Erstellung und Variablen kennengelernt - hier vertiefen wir die fortgeschrittene Verwendung von Vorlagenvariablen.
1 Template-Engine Handlebars im Überblick
Wenn Sie einen Markdown-Block angelegt haben, sehen Sie oben rechts in den Einstellungen die Option „Template Engine" - Standard ist Handlebars. Damit können Sie Inhalte abhängig von Bedingungen darstellen, sodass Markdown auf Veränderungen reagiert.

1.1 Aufgabe von Handlebars
Während Markdown nativ nur statische Inhalte zeigt, können Sie mit Handlebars Texte und Stile abhängig von Bedingungen (z. B. Status, Zahl, Auswahl) dynamisch wechseln. Selbst in stark variablen Geschäftssituationen bleibt die Seite stets aktuell.
2 Praktische Anwendungsfälle
Wir betrachten einige nützliche Szenarien und setzen sie Schritt für Schritt um.
2.1 Auftragsstatus behandeln
Im Online-Demo zeigen wir abhängig vom Auftragsstatus unterschiedliche Hinweise. Angenommen, Ihre Auftragstabelle hat ein Statusfeld:

Die vier Status entsprechen folgenden Inhalten:
Auf der Seite holen wir den Statuswert ab und zeigen abhängig davon Inhalte. Im Folgenden zeigen wir die Verwendung von if, else und else if.
2.1.1 if-Syntax
Mit if zeigen Sie Inhalte, die einer Bedingung entsprechen:
Die Bedingung verwendet Handlebars-Syntax (eq, gt, lt usw.). Beispiel:
Beispielresultat:

2.1.2 else-Syntax
Schlägt die Bedingung fehl, geben Sie mit else einen Alternativinhalt aus:
Beispiel:

2.1.3 Mehrfachbedingungen
Für mehrere Bedingungen verwenden Sie else if:
Beispiel:

2.2 Effekt
Nach der Konfiguration wechselt die Seite je nach Auftragsstatus dynamisch die Anzeige:

Code auf der Seite:
Wechseln Sie den Auftragsstatus und beobachten Sie, ob die Seite passend reagiert, um Ihren Code zu verifizieren.
2.3 Auftragspositionen anzeigen
Neben dem Status werden Auftragspositionen (z. B. Produktlisten) häufig benötigt. Nutzen Sie hierfür each:
2.3.1 Grundlagen von each
Mit each iterieren Sie über eine Liste, z. B. das Array [1,2,3]:
Im Schleifeninneren steht {{this}} für das aktuelle Element, {{@index}} für den aktuellen Index.
2.3.2 Beispiel: Produktdetails
Möchten Sie alle Produkte eines Auftrags anzeigen:
Falls keine Daten erscheinen, prüfen Sie, ob das Feld der Auftragspositionen korrekt eingebunden ist - andernfalls wertet das System sie als nicht abrufbar.

Möglicherweise wird der Produktname (product.name) nicht ausgegeben - aus demselben Grund: Wir müssen das Produktobjekt ebenfalls anzeigen lassen.

Anschließend können wir es per Linkage-Regel wieder ausblenden:

2.4 Endprodukt: Produktliste eines Auftrags
Mit den obigen Schritten erhalten Sie eine vollständige Anzeige der Auftragspositionen:
Resultat:

Zur Demonstration der Flexibilität von Handlebars haben wir in den Auftragsdetails die Felder „out_of_stock" und „low_stock" ergänzt:
- Bei
out_of_stock = truewird „Nicht verfügbar" angezeigt und die Zeile rot eingefärbt. - Bei
low_stock = trueerscheint rechts „Bestand knapp" in Orange.

3 Zusammenfassung und Empfehlungen
Sie haben gelernt, wie Sie Markdown mit Handlebars dynamisch rendern - mit if/else, each und weiteren Kernsyntaxelementen. Für komplexe Logik kombinieren Sie diese mit Linkage-Regeln, berechneten Feldern, Workflows oder Skript-Knoten.
Wir hoffen, Sie üben fleißig und wenden diese Techniken in Ihren Projekten an. Erkunden Sie weitere Möglichkeiten!
Bei Fragen während der Umsetzung sind Sie im NocoBase Community-Forum willkommen oder können die offizielle Dokumentation konsultieren. Viel Erfolg!

