Zum Hauptinhalt gehen

Das Format von Platzhaltern mit Filtern ändern

In diesen Artikel erklären wir Ihnen, wie Sie die Template-Sprache von Sendinblue nutzen können, um Platzhalter in Ihren E-Mails mit Filtern zu ändern.

Was sind Filter?

Filter ändern die Ausgabe eines Platzhalters. Sie werden in doppelten geschweiften Klammern 
{{ }} verwendet und durch einen senkrechten Strich | getrennt, z. B. {{ contact.NAME|upper }}. Es können mehrere Filter aneinandergereiht werden und die Ausgabe eines Filters wird auf den nächsten angewendet. 

Um einen Filter zu einer E-Mail-Kampagne oder einem Template hinzuzufügen, müssen Sie ihn manuell hinzufügen. Im Drag & Drop Editor (Neu) müssen Sie den Platzhalter außerdem manuell eingeben und können keinen Filter zu einem Platzhalter hinzufügen, der über die Option Personalisierung hinzugefügt wurde.

Einen Standardwert einfügen

default

Fügt einen Standard-Fallback-Wert ein, wenn der Wert "Variable" leer ist.

Eingabe Ausgabe
Guten Tag {{ contact.NAME|default:'lieber Kunde' }}, Guten Tag lieber Kunde,

Groß- und Kleinschreibung

capfirst

Schreibt den ersten Buchstaben einer Variable groß.

Eingabe Ausgabe
{{ contact.MESSAGE|capfirst }} Mein rotes Auto

titel

Gibt den Wert als Titel aus. Die Wörter beginnen mit Großbuchstaben, alle weiteren Buchstaben werden kleingeschrieben.

Eingabe Ausgabe
{{ contact.NAME|title }} John Doe

upper

Schreibt jedes Zeichen einer Variable groß.

Eingabe Ausgabe
{{ contact.NAME|upper }} JOHN DOE

lower

Schreibt jedes Zeichen einer Variable klein.

Eingabe Ausgabe
{{ contact.NAME|lower }} john doe

truncatechars

Kürzt eine Variable, wenn sie die festgelegte Zeichenanzahl überschreitet. Abgeschnittene Variablen enden mit Auslassungspunkten (…), die in der Zeichenzahl inbegriffen sind.

Eingabe Ausgabe
{{ contact.MANAGER|truncatechars:7 }} Elisab…

Zahlen formatieren

floatformat

Rundet die Ausgabe der Float-Werte Ihrer Variable auf die angegebene Dezimalstelle.

Um korrekt zu funktionieren, müssen die Werte als Zahl statt als Zeichenfolge weitergegeben werden. Werte sollten nicht in Anführungszeichen als "Wert" weitergegeben werden.

Eingabe Ausgabe
{{ contact.BALANCE|floatformat:2 }} 40.32
{{ contact.BALANCE|floatformat:0 }} 40

lang_format

Formatiert Zahlen abhängig von der Sprache des Empfängers.

Eingabe Ausgabe
{{ params.NUMBER|lang_format:"fr" }} 123 456,789
{{ params.NUMBER|lang_format:"en" }} 123,456.789
{{ params.NUMBER|lang_format:"hi" }} 1,23,456.789
{{ params.NUMBER|lang_format:"bn" }} ১,২৩,৪৫৬.৭৮৯
{{ params.NUMBER|lang_format:"fr,%.2f" }} 123 456,79

Hinweis:

  • Um 2 Dezimalstellen zu erzwingen, fügen Sie nach der Sprachvariable ,%.2f hinzu.
  • Für Französisch ist das Tausender-Trennzeichen ein geschütztes Leerzeichen.

Datum und Uhrzeit formatieren

💡 Gut zu wissen
- Abkürzungen für Tage und Monate und vollständige Namen werden nur auf Englisch unterstützt.
- Die Referenzzeit ist "Monday January 2 15:04:05 -0700 MST 2006".
- Wenn ein Wert nicht angegeben wird, wird er als 0 angesehen.
- Standardzeitzone ist UTC (wenn sie nicht angegeben wird).
- Sie können die Schlüsselwörter am/pm verwenden.
- Am häufigsten wird die Zeitzone mit dedizierten Schlüsselwörtern (MST, CET, UTC, Asia/Kolkata usw.) oder nummerisch +0100 oder -0100 gegenüber UTC definiert.

time_parse

Wandelt Ihr Datumsformat (als String übermittelt) in ein Standarddatumsformat um, das mit anderen Filtern verwendet werden kann.

Um Ihr aktuelles Datumsformat als Argument zu übermitteln, formatieren Sie das genaue Datum / die genaue Uhrzeit so, wie die Referenzzeit angezeigt würde, wenn sie der Wert wäre.

Eingabe Ausgabe
{{ params.my_date|time_parse:"Monday 02 January 2006" }} Tuesday 11 March 2021

Hinweis: Wenn Ihr String mit RFC3339 formatiert ist, können Sie den dedizierten Parser time_parse_rfc3339 ohne Argument verwenden.

date

Konvertiert ein Datum in ein angegebenes Format.

Um mithilfe eines Strings ein Datum auszugeben, müssen Sie den Filter time_parse oder die aktuelle Zeit verwenden und das Datum des Filters an den Platzhalter time_now weitergeben.

Eingabe Ausgabe
{{ "14:01 01/06/2018"|time_parse:"15:04 02/01/2006"|date:"Mon Jan 2 15:04:05 2006" }} Fri Jun 1 14:01:00 2018
{{ time_now|date:"Monday, Jan 2, 2006" }} Druckt den aktuellen Tag und das Datum im angegebenen Format
{{ time_now|date:"02/01/2006" }}  Druckt den aktuellen Tag und das Datum im angegebenen Format
{{ time_now|date:"01" }}

 Druckt den aktuellen Monat

{{ time_now|date:"02" }}

 Druck den aktuellen Tag

{{ time_now|date:"2006" }}

 Druckt das aktuelle Jahr

time_add_date

Fügt die Anzahl von Tagen zu einem Zeitstempel oder einem Datumsstring hinzu. Sie müssen alle Werte in der folgenden Reihenfolge an diesen Filter weitergeben: "Jahr, Monat, Tag".

Eingabe Ausgabe
{{ time_now|time_add_date:"1,2,3" }} Druckt den Zeitstempel, nachdem 1 Jahr, 2 Monate und 3 Tage zum aktuellen Zeitstempel hinzugefügt wurden
{{ "14:01 01/06/2018"|time_parse:"15:04 02/01/2006"|time_add_date: "1,2,3" }}
2019-08-04 14:01:00 +0000 UTC

time_in_location

Konvertiert einen Zeitstempel oder einen Datumsstring gemäß der Zeitzone, die an den Filter weitergegeben wurde. Sie müssen eine Zeitzone im folgenden Format an den Filter weitergeben: "Ort/Zeitzone".

Eingabe Ausgabe
{{ time_now|time_in_location:"Europe/Berlin" }} Druckt den aktuellen Zeitstempel in CEST
{{ "14:01 01/06/2018"|time_parse:"15:04 02/01/2006"|time_in_location: "Europe/Berlin" }} 2018-06-01 16:01:00 +0200 CEST

time_add_duration

Fügt eine Zeitdauer zu einem Zeitstempel oder einem Datumsstring hinzu. Im Filter muss mindestens ein Wert (Stunde, Minute oder Sekunde) weitergegeben werden.

Eingabe Ausgabe
{{ time_now|time_add_duration:"1h2m3s" }} Druckt den Zeitstempel, nachdem 1 Stunde, 2 Minuten und 3 Sekunden zum Zeitwert im aktuellen Zeitstempel hinzugefügt wurden
{{ time_now|time_add_duration:"30m" }} Druckt den Zeitstempel, nachdem 30 Minuten zum Zeitwert hinzugefügt wurden

time_unix

Konvertiert einen Zeitstempel zum Unix Timestamp in Sekunden.

Eingabe Ausgabe
{{ time_now|time_unix }} Druckt den aktuellen Unix Timestamp in Sekunden

time_unix_nano

Konvertiert einen Zeitwert in den Unix Timestamp in Nanosekunden.

Eingabe Ausgabe
{{ time_now|time_unix_nano }} Druckt den aktuellen Unix Timestamp in Nanosekunden

Daten codieren oder verschlüsseln

base64_encode oder decode

Codiert oder decodiert base 64:

  • base64_decode decodiert einen String zu einem []Byte
  • base64_decode codiert ein Byte zu einem []String
Eingabe Ausgabe
https://example.com/test?name={{ contact.FIRSTNAME|base64_encode }} https://example.com/test?name=RW56bw==(statt https://example.com/test?name=Enzo)

Die Filter base64_encode und base64_decode können einen optionalen Codierungsparameter verwenden:

  • std: normale base64-Codierung,
  • raw_std: normale base64-Codierung ohne die Füllzeichen =,
  • url: sichere Version der base64-Codierung für URL, + und / werden mit - und _ ersetzt,
  • raw_url: eine Kombination aus raw und url, d. h. {{ contact.FIRSTNAME|base64_encode:"raw_url"}}.

aes_256

Verschlüsselt einen Wert. Sie können diesen Filter verwenden, um verschlüsselte Kontaktinformationen wie beispielsweise eine E-Mail-Adresse oder eine ID in einer URL zu versenden.

Der Platzhalter muss so formatiert werden: {{ contact.ATTRIBUTE | aes_256:"key" }}. Der Key muss:

  • Aus 32 Zahlen bestehen
  • Zufällig generiert werden
  • Auf Ihrer Seite fortbestehen, damit der Originalwert entschlüsselt werden kann

Wenn kein Codierungsparameter definiert wird, wird standardmäßig base64 std verwendet. Andernfalls wird Folgendes unterstützt:

  • raw_std: normale base64-Codierung ohne die Füllzeichen =.
  • url: sichere Version der base64-Codierung für URL, + und / werden durch - und _ ersetzt.
  • raw_url: eine Kombination aus raw und url.
💡 Gut zu wissen

In den nachstehenden Beispielen verschlüsseln wir die E-Mail-Adressen unserer Kontakte mit dem folgenden Key: e5a34a481274c776856d04119bed8188. Bitte beachten Sie, dass Sie nicht denselben Key verwenden dürfen, generieren Sie stattdessen gemäß den vorstehenden Anforderungen Ihren eigenen Key.

Codierung Eingabe Ausgabe

Keine Codierung (standardmäßig Codierung base64 std)

{{ contact.EMAIL | aes_256:
"e5a34a481274c776856d04119bed8188"
}}
Druckt eine zufällige Zeichenfolge, die entschlüsselt werden muss, um den Originalwert zu lesen

Codierung Base64 raw_std

{{ contact.EMAIL | aes_256:
"e5a34a481274c776856d04119bed8188,
raw_std"
}}
Druckt eine zufällige Zeichenfolge, die entschlüsselt werden muss, um den Originalwert zu lesen

Codierung Base64 url

{{ contact.EMAIL | aes_256:
"e5a34a481274c776856d04119bed8188,
url"
}}
Druckt eine zufällige Zeichenfolge, die entschlüsselt werden muss, um den Originalwert zu lesen

Codierung Base64 encoding raw_url

{{ contact.EMAIL | aes_256:
"e5a34a481274c776856d04119bed8188,
raw_url"
}}
Druckt eine zufällige Zeichenfolge, die entschlüsselt werden muss, um den Originalwert zu lesen

Sonstige Filter

first

Gibt das erste Element einer Sequenz, eines Mappings oder eines Strings wieder.

Eingabe API-Anfrage Ausgabe
{{ params.array|first }} "params" :
{
"array" : [ 1,2,3,4 ]
}
1

join

Kombiniert die Elemente in einem Datenfeld zu einem einzigen String, wobei das Argument als Trennzeichen verwendet wird.

Das Trennzeichen zwischen den Elementen ist standardmäßig eine leere Variable. Sie können es mit dem optionalen ersten Parameter definieren.

Eingabe Ausgabe
{{ [1, 2, 3]|join }} 123
{{ [1, 2, 3]|join: '|' }}
1|2|3

last

Gibt das letzte Element einer Sequenz, eines Mappings oder eines Strings wieder.

Eingabe Ausgabe
{{ [1, 2, 3, 4]|last }} 4

length

Gibt die Anzahl der Elemente einer Sequenz, eines Mappings oder die Länge eines Strings wieder.

Eingabe Ausgabe
{{ ['a', 'b', 'c', 'd']|length }} 4

safe

Kennzeichnet eine Zeichenfolge so, dass kein weiteres HTML-Escaping vor der Ausgabe erforderlich ist.

Eingabe

API-Anfrage Ausgabe
{{ params.htmltest|safe }} "params" :{HtmlTest: "<p>This is my test sentence.</p>"} This is my test sentence

Hinweis: Ohne den Filter "safe" würde das HTML-Tag in der E-Mail des Empfängers als normaler String angezeigt: <p>This is my test sentence</p>.

slice

Extrahiert ein Stück aus einer Sequenz, eines Mappings oder eines Strings.

Dieser Filter kann konfiguriert werden, um:

A Nur durch die erste Zahl "n" von Elementen in einem Array zu iterieren. Denken Sie in beiden Fällen daran, dass Elemente in einem Array einer einmaligen Positionsnummer zugewiesen sind, die erste Position ist "0" (sie sind "nullbasiert").
B Durch Elemente zwischen zwei angegebenen Positionen ("n" und "m") in einem Array zu iterieren.
C Durch Elemente zwischen zwei angegebenen Elementen in einem Array zu iterieren.  

Denken Sie in jedem Beispiel daran, dass Ihr Array Folgendes enthält: ["a","b","c","d","e","f","g","h"...].

 

Eingabe Ausgabe

A

{% for product in params.products|slice:':5' %}
{{ product.name - {{ product.price }}
{% endfor %}
Iteriert über die ersten 5 Positionen (0-4), nämlich: ["a","b","c","d","e"}
B {% for product in params.products|slice:'2:3' %}
{{ product.name - {{ product.price }}
{% endfor %}
Iteriert über die Positionen (2-3), nämlich ["c","d"]
C {% for product in params.products|slice:'b:d' %}
{{ product.name - {{ product.price }}
{% endfor %}
Iteriert über die angegebenen Elemente, nämlich: ["b","c","d"]

Zusätzliche Funktionen

Die Sendinb lue Template Language basiert auf Pongo2, einer Re-Implementierung von Django in Go (einer Programmiersprache).

Alle unterstützten Tags

autoescape, comment, cycle, filter, firstof, for, if, ifchanged, now, set, spaceless, templatetag, with.

Alle unterstützten Filter

escape, safe, escapejs, add, addslashes, capfirst, center, cut, date, default, default_if_none, divisibleby, first, floatformat, get_digit, iriencode, join, last, length, length_is, linebreaks, linebreaksbr, linenumbers, ljust, lower, make_list, phone2numeric, pluralize, random, removetags, rjust, slice, stringformat, striptags, time, title, truncatechars, truncatechars_html, truncatewords, truncatewords_html, upper, urlencode, urlize, urlizetrunc, wordcount, wordwrap, yesno.

Alle unterstützten Filter für Hash-Funktionen

hash_md5, hash_sha256, hash_sha256_224, hash_sha512, hash_sha512_224, hash_sha512_256, hash_sha512_384, hash_sha3_224, hash_sha3_256, hash_sha3_384, hash_sha3_512.

💡 Gut zu wissen
Wenn Sie einen wünschenswerten Filter identifizieren, der noch nicht unterstützt wird, wenden Sie sich bitte an Ihr Kundenbetreuungsteam, indem Sie ein Ticket über Ihr Konto erstellen. Falls Sie noch kein Konto haben, erreichen Sie uns hier.

⏭️ Nächste Schritte

🤔 Sie haben eine Frage?

Wenden Sie sich bei Fragen an unser Support-Team: Erstellen Sie einfach ein Ticket über Ihr Konto. Wenn Sie noch kein Konto haben, können Sie uns hier kontaktieren.