Templates für Benachrichtigungen und Reports können mit dynamischen Inhalten und Strukturen gestaltet werden. Dazu kann Liquid als Template-Sprache in Bloqs verwendet werden.
Die Dokumentation von Liquid bietet detaillierte Informationen über die Verwendung der Template-Sprache. Von der Syntax, der Handhabung von Listen und Konditionen bis zur Verwendung von Filter ist dort alles beschrieben. Darum beschränken sich die weiteren Abschnitte ausschliesslich auf die für Bloqs spezifischen Eigenschaften und Anwendungsfälle.
🚀 Getting Started
Um Templates zu Erstellen und zu Testen, steht das Admin-Tool Template-Tester zur Verfügung. Mit diesem Tool können Templates mit echten Daten angereichert und eine Vorschau generiert werden.
Im Tester kann ein Kontext-Objekt als Basis für das Template ausgewählt werden. Das Template wird dann mit den Daten von diesem Objekt angereichert.
📝 Kontext, Objekt und Eigenschaften
Im Template steht normalerweise ein Objekt als Kontext zur Verfügung. D.h. es kann direkt auf die Eigenschaften des Objekts zugegriffen werden.
Beispielsweise können bei einer Person
direkt die Eigenschaften {{ FirstName}}
und {{ LastName }}
im Template verwendet werden.
Zusätzlich stehen folgende Eigenschaften, unabhängig von der Metaklasse des Objekts zur Verfügung:
Eigenschaft | Beschreibung | Beispiel |
---|---|---|
| Der Titel des Hauptobjektes | Subject für eine E-Mail mit dem Namen des veränderten Objektes: |
| Der Primärschlüssel des Hauptobjektes | |
| Der Name der Meta-Klasse des Hauptobjektes | |
| Absolute URL (z.B. für E-Mail) Für korrekte Funktion muss Server:ApplicationDomainBasePath gesetzt sein (siehe Konfigurationsschlüssel) | E-Mail Text mit Link auf das veränderte Objekt: |
| Link in Markdown Für korrekte Funktion muss Server:ApplicationDomainBasePath gesetzt sein (siehe Konfigurationsschlüssel) | Der Link auf das betroffene Objekt in einer In-App Notification mit dem der User direkt auf das Objekt navigieren kann: |
📧 Eigenschaften von Benachrichtigungen
Bei Benachrichtigungen stehen zusätzlich folgende Eigenschaften zur Verfügung:
Eigenschaft | Beschreibung | Beispiel |
---|---|---|
| Empfänger der Notification | |
| Benutzer der die Benachrichtigung initiiert hat. | |
| Liefert das Objekt auf die Instanz der Benachrichtigung selbst. So kann auf die Properties der Notification zugegriffen werden. | Datum an dem die Benachrichtigung initiiert wurde.
|
Ereignisparameter
Zusätzlich zu der Liste der oben definierten Eigenschaften stehen bei Benachrichtigungen die Ereignisparameter zur Verfügung:
⚡ Expressions
Mit dem Expression-Tag {% exp ... %}
können Expressions im Template integriert werden. Viele der Funktionen, die als Expression zur Verfügung stehen, können aber direkt in Liquid implementiert werden. Die Liquid-Implementation ist dann zu bevorzugen.
Beispiele:
{% exp 2 == 2 %}
wird zuTrue
{% exp String.toupper(Value) %}
wird zuENCODO
beiValue = Encodo