Warum sehe ich "Error in liquid syntax"?
Wie man den TokenizationError behebt, der durch Sonderzeichen wie Klammern, Schrägstriche oder Doppelpunkte in Personalisierungstokens verursacht wird.
Contents
Was dieser Fehler bedeutet
SecureMailMerge verwendet die Liquid template language, um deine Personalisierungstokens zu verarbeiten. Liquid behandelt alles innerhalb von geschweiften Klammern (z. B. {{…}}) als Code, nicht als einfachen Text. Wenn ein Spaltenname Sonderzeichen enthält, versucht Liquid, diese als Programmieroperatoren zu interpretieren und schlägt fehl.
Zum Beispiel, wenn deine Tabelle eine Spalte namens Date(s) hat und du {{Date(s)}} in deine E-Mail eingibst, sieht Liquid:
Date, einen Variablennamen(s), was wie ein Funktionsaufruf oder Bereichsausdruck aussieht
Das löst den Fehler aus:
TokenizationError: invalid range syntax
Zeichen, die diesen Fehler verursachen
Die folgenden Zeichen haben in Liquid eine besondere Bedeutung und verursachen Fehler, wenn sie innerhalb von geschweiften Klammern verwendet werden:
| Zeichen | Was Liquid denkt, dass es bedeutet |
|---|---|
( ) | Bereichsausdruck oder Gruppierung |
/ | Divisionsoperator |
: | Filter-Argument-Trenner |
+ - * | Arithmetische Operatoren |
Eine Spalte mit dem Namen Date(s) oder Day(s)/Date(s): führt also zu einem Fehler, weil Liquid versucht, diese Zeichen als Code zu interpretieren.
Wie man es behebt
Option 1: Verwende das Spalten-Dropdown (empfohlen)
Die einfachste Lösung ist, das personalization token dropdown in SecureMailMerge zu verwenden, anstatt den Token manuell einzugeben. Das Dropdown umschließt automatisch Spaltennamen, die Sonderzeichen enthalten, mit der richtigen Escape-Syntax:
{{ ["Date(s)"] }}
Die eckigen Klammern und Anführungszeichen sagen Liquid, dass der gesamte String als Spaltenname und nicht als Code behandelt werden soll. Wähle einfach die Spalte aus dem Dropdown aus und klicke auf den Button, um sie in dein Betreff oder deinen Text einzufügen.
Option 2: Syntax manuell korrigieren
Wenn du Tokens lieber selbst eingibst, umschließe Spaltennamen, die Sonderzeichen enthalten, mit ["..."]:
| Falsch | Richtig |
|---|---|
{{Date(s)}} | {{ ["Date(s)"] }} |
{{Day(s)/Date(s):}} | {{ ["Day(s)/Date(s):"] }} |
{{Time(s):}} | {{ ["Time(s):"] }} |
Option 3: Benenne deine Tabellen-Spalten um
Du kannst dieses Problem ganz vermeiden, indem du deine Spalten so umbenennst, dass sie nur Buchstaben, Zahlen und Unterstriche verwenden:
| Vorher | Nachher |
|---|---|
Date(s) | Dates |
Day(s)/Date(s): | Day_Dates |
Time(s): | Times |
Nach dem Umbenennen funktionieren einfache Tokens wie {{Dates}} ohne spezielle Syntax.
Verwandt
- Warum sehe ich “ParseError: unexpected token”?
- Erstellen deiner Seriendruckvorlage
- Warum zeigt meine Tabelle einen “illegal characters”-Fehler an?
Ready to try it yourself?
SecureMailMerge for Outlook
Runs inside Outlook — no external app needed. Free to install.
Free · No credit card required