Unser Variablen-Editor ermöglicht dir die Erstellung benutzerdefinierter Variablen. Es gibt zahlreiche Optionen, die Raum für kreative Anpassungen bieten. Wir zeigen dir für welche Anwendungsfälle du sie verwenden kannst.
Im Variablen Editor hast du zudem die Möglichkeit, Bestellübersicht-Vorlagen individuell zu konfigurieren. Wie genau das funktioniert, kannst du hier nachlesen.
Dieser Artikel beinhaltet folgende Abschnitte:
- Bedeutung der Handlebar-Syntax
- Mehrere Bedingungen verknüpfen
- Erstellen einer Anzeigebedingung
- Anwendungsfall 1: Anzeigen eines bestimmten Texts
- Anwendungsfall 2: Anzeigen von Bildern
Du beginnst damit, dass du eine “Neue” Variable erstellst und den Code Editor öffnest:
Auf der linken Seite im Code Editor erstellst du deine individuellen Handlebars für deine Vorlagen.
Eine Handlebar baut sich grundsätzlich folgendermaßen auf:
{{#Bedingungsblock-Helper (Bedingung)}} Bedingte Anzeige {{/Bedingungsblock-Helper}}
Bedeutung der Handlebar-Syntax
{{ }}-Klammern
Diese doppelten geschweiften Klammern {{ }} dienen in Handlebars als Platzhalter oder Marker für Vorlagen-Variablen. Alles, was sich zwischen diesen Klammern befindet, wird als Handlebars-Ausdruck interpretiert und später durch den tatsächlichen Wert ersetzt.
#Bedingungsblock-Helper
Der #Bedingungsblock-Helper ist ein spezielles Konstrukt in Handlebars, das verwendet wird, um bedingte Anweisungen in Handlebars-Vorlagen zu erstellen. Er ermöglicht es, Teile der Vorlage basierend auf einer Bedingung anzuzeigen oder auszublenden. Mögliche Bedingungsblock-Helper sind:
Bedingungsblock-Helper |
Verwendung |
---|---|
#if |
Du verwendest #if, wenn du eine Bedingung definieren möchtest, die überprüft, ob eine bestimmte Aussage wahr oder falsch ist. Der Inhalt innerhalb des #if-Blocks wird nur angezeigt, wenn die Bedingung wahr ist. Andernfalls wird dieser Inhalt ausgeblendet. |
#unless |
Du verwendest #unless, wenn du möchtest, dass der Inhalt innerhalb des Blocks nur angezeigt wird, wenn die Bedingung falsch ist. Mit anderen Worten, es wird angezeigt, wenn die Bedingung nicht erfüllt ist. |
#each |
Du verwendest #each , wenn du durch eine Liste von Elementen zu iterieren und für jedes Element eine Vorlagenwiederholung zu erstellen. Es ist besonders nützlich, wenn du eine Liste von Elementen in deiner Vorlage darstellen möchtest, da es dir ermöglicht, die Vorlage für jedes Element in der Liste zu wiederholen. |
else |
|
(Bedingung)
Dies ist der Teil deines Handlebars-Ausdrucks, in dem du eine Bedingung oder einen Vergleich angibst. Es kann ein Vergleich sein, der wahr oder falsch ist.
Die Bedingung baut sich folgendermaßen auf: (Vergleichsoperator Attribut "Wert")
Bedingungs-Elemente |
Erklärung |
---|---|
Vergleichsoperator |
eq (equals) Dieser Operator überprüft, ob der Wert der Bedingung identisch ist zu dem Wert auf welchen wir uns beziehen. Wenn die Werte identisch sind ist die Bedingung erfüllt und die bedingte Anzeige wird ausgeführt |
neq oder not equal (not equals) Dieser Operator vergleicht zwei Werte und gibt die Bedingten Anzeige wieder, wenn die Werte nicht gleich sind. |
|
lt (less than) Wenn der Bedingungswert kleiner ist als der zu prüfende Wert. lte (less than OR equal) gt (greather than) gte (greater than OR equal |
|
Attribut |
Das Attribut spiegelt das Attribut der Entität wider, auf welches du dich für die Bedingung beziehen möchtest. Für die korrekte Syntax nutzt du die Variable dieses Attributes ohne {{ }} |
“Wert" |
Du schreibst den Wert, mit dem das Attribut verglichen wird in |
Bedingte Anzeige
Dies ist der Inhalt, der angezeigt wird, wenn die zuvor definierte Bedingung erfüllt ist. Hier kannst du HTML, Text oder andere Handlebars-Platzhalter einfügen. Wenn die Bedingung wahr ist, wird dieser Inhalt gerendert, ansonsten bleibt er ausgeblendet.
Du kannst dir z.B. einen bestimmten Text anzeigen lassen, einen Link oder auch ein Bild. In dieser Hinsicht bieten sich zahlreiche Möglichkeiten. Wir werden sie anhand konkreter Anwendungsfälle erläutern und dir beispielsweise zeigen, was du tun kannst.
{{/Bedingungsblock-Helper}
{{/Bedingungsblock-Helper}}ist das Abschluss-Tag eines Bedingungsblock-Helpers in Handlebars. Dieser Tag markiert das Ende des bedingten Abschnitts innerhalb einer Handlebars-Vorlage.
Mehrere Bedingungen verknüpfen
Wenn du mehrere Bedingungen in Handlebars prüfen möchtest, kannst du sie auf folgende Weisen verknüpfen:
-
UND-Verknüpfung: Wenn du sicherstellen möchtest, dass beide Bedingungen erfüllt sind, dann schreibst du sie einfach hintereinander.
{{#if(Bedingung1)}} {{#if(Bedingung2)}} Bedingte Anzeige wenn beide Bedingungen wahr sind {{/if}}{{/if}}
-
ODER-Verknüpfung: Wenn du möchtest, dass entweder die eine oder die andere Bedingung erfüllt wird, dann verwendest du den #else-Block.
{{#if (Bedingung1)}} Hier wird der Inhalt angezeigt, wenn Bedingung1 wahr ist {{else}} {{#if (Bedingung2)}} Hier wird der Inhalt angezeigt, wenn Bedingung2 wahr ist {{/if}} {{/if}}
Erstellen einer Anzeigebedingung
Das war nun der ganz allgemeine Aufbau einer Handlebar, darunter kannst du dir vielleicht noch nicht so viel vorstellen, deshalb möchten wir dir nun erkären, wie genau du vorgehst, um dir deine Variable zu erstellen:
-
Stelle zunächst deine Bedingung auf:
-
Nun musst du diese in die Handlebar-Snytax übersetzen:
{{#Bedingungsblock-Helper (Bedingung)}} Bedingte Anzeige {{/Bedingungsblock-Helper}}
Anwendungsfall 1: Anzeigen eines bestimmten Texts
Kommen wir nun zu konkreten Anwendungsällen. Wir werden diese kontinuierlich ergänzen. Sollte die Anzeigebedingung, die du erstellen willst nicht dabei sein, dann melde dich gerne bei uns und wir schauen gemeinsam, wie wir diese umsetzen können.
-
Bedingung: ”Wenn die Postleitzahl der Lieferadresse “50670” ist, zeige “max.mustermann@epilot.cloud” an.
-
Übersetzung:
Bedingung |
Handlebar-Syntax |
---|---|
Wenn |
if |
die Postleitzahl der Lieferadresse |
opportunity.delivery_address.Primary.postal_code |
gleich |
eq |
“50670” |
"50670" |
zeige “max.mustermann@epilot.cloud” an. |
<max.mustermann@epilot.cloud> |
-
Füge die einzelnen Elemente zusammen:
{{#if (eq opportunity.delivery_address.Primary.postal_code "50670")}} max.mustermann@epilot.cloud {{/if}}
Anwendungsfall 2: Anzeigen von Bildern
Damit du in deiner Anzeigebedingung ein Bild verwenden kannst, musst du dieses zunächst in epilot unter Dateien hochladenn. Anschließend stellst du diese dann auf “öffentliche Datei” und kopierst dort folgenden Link. Diesen muss du in deiner Anzeigebedingung verwenden:
Bedingung: “Wenn der Bearbeiter der Opportunity Max Mustermann heißt, dann soll ein Bild seiner Unterschrift angezeigt werden.”
{{#if (eq opportunity.assignee "Max Mustermann")}} <img src="https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/" height=30 width=100> {{/if}}
Die Werte für Größe und Style des Bild kannst du beliebig anpassen.
Diese Bedingung lässt sich dann natürlich auch noch erweitern, damit die Namen weiterer Mitarbeiter abgefragt werden. Dafür fügst du einfach mehrere Bedingungen hintereinander ein, dann werden diese nacheinander geprüft:
{{#if (eq opportunity.assignee.0.display_name "Max Mustermann")}} <img src="https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/Bild1" height=30 width=100> {{/if}} {{#if (eq opportunity.assignee.0.display_name "Maria Musterfrau")}} <img src="https://epilot-prod-user-content.s3.eu-central-1.amazonaws.com/Bild2" height=30 width=100> {{/if}}
Kommentare
Es scheint nicht mit
sondern nur mit
zu funktionieren.
Wenn ich diese Variable dann in einem Word Dokument verwende wird der HTML Tag nicht als Bild gerendert sondern als Text "data:image/png;base64". Wie ist es möglich ein Bild über eine Variable in ein Word Dokument einzufügen?
Und im ersten Beispiel ist ein > zuviel.
Die Bild Datei muss jpeg Format haben.
Bei der Verwendung der Variable in der Word Vorlage, direkt nach den öffnenden "{{" zwei Tilden "~~" einfügen, um das Bild in ein PDF zu rendern: {{~~HierKommtDieUnterschrift}}
Ich versuche, eine If-Bedingung zu erstellen mit folgendem Code:
{{#if (eq opportunity.gebudetyp Einfamilienhaus)}} If funktioniert! {{/if}}
Und erhalte die Fehlermeldung:
closing_tag_does_not_match_opening_tag: The tag "if (eq opportunity.gebudetyp Einfamilienhaus)" is closed by the tag "if"
Ich verstehe das so, dass nicht nur if als Bedingungsblock-Helper interpretiert wird, sondern auch der Teil in runden Klammern dahinter, der nach meinem Verständnis eigentlich die if-Bedingung enthalten soll.
Kann mir jemand helfen, wie ich dieses Problem lösen kann? Das wäre fantastisch!
Hallo Fiona,
ich bin nicht sicher, ob die Problematik nach 23 Tagen noch besteht, aber der zu prüfende Wert muss definitiv in Anführungszeichen gesetzt werden.
{{#if (eq opportunity.gebudetyp "Einfamilienhaus")}} If funktioniert! {{/if}}
Dann kommt es aber auch darauf an, von welchem Typ das Attribut opportunity.gebudetyp ist. Je nach Typ (z.B. Einfachauswahl oder Mehfachauswahl) kann es sein, dass der Vergleichsoperator eq nicht greift. Probiere es dann einfach mal mit contains:
{{#if (contains opportunity.gebudetyp "Einfamilienhaus")}} If funktioniert! {{/if}}
Viel Erfolg & Viele Grüße
Matthias
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.