Warum sehe ich "Fehler in der Liquid-Syntax"?
Wie man den TokenizationError behebt, der durch Sonderzeichen wie Klammern, Schrägstriche oder Doppelpunkte innerhalb von Personalisierungstokens verursacht wird.
Contents
Was dieser Fehler bedeutet
SecureMailMerge verwendet die Liquid-Template-Sprache, um deine Personalisierungs-Tokens zu verarbeiten. Liquid behandelt alles, was in geschweifte Klammern eingeschlossen ist (z.B. {{…}}), als Code und nicht als einfachen Text. Wenn ein Spaltenname Sonderzeichen enthält, versucht Liquid, sie als Programmieroperatoren zu interpretieren, und schlägt fehl.
Wenn deine Tabelle zum Beispiel eine Spalte mit dem Namen Datum(e) hat und du {{Datum(e)}} in deine E-Mail eingibst, sieht Liquid:
Datum— einen Variablennamen(e)— was wie ein Funktionsaufruf oder ein Bereichsausdruck aussieht
Das löst den Fehler aus:
TokenizationError: ungültige Bereichssyntax
Zeichen, die diesen Fehler verursachen
Die folgenden Zeichen haben eine spezielle Bedeutung in Liquid und verursachen Fehler, wenn sie innerhalb von geschweiften Klammern verwendet werden:
| Zeichen | Was Liquid denkt, dass es bedeutet |
|---|---|
( ) | Bereichsausdruck oder Gruppierung |
/ | Divisionsoperator |
: | Filterargument-Trennzeichen |
+ - * | Arithmetische Operatoren |
Ein Feld namens Date(s) oder Day(s)/Date(s): wird also fehlschlagen, weil Liquid versucht, diese Zeichen als Code zu interpretieren.
So behebst du es
Option 1: Verwende das Dropdown-Menü für Spalten (empfohlen)
Die einfachste Lösung ist, das Dropdown-Menü für Personalisierungstoken in SecureMailMerge zu verwenden, anstatt das Token manuell einzugeben. Das Dropdown-Menü umschließt automatisch Spaltennamen, die Sonderzeichen enthalten, in 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-Menü aus und klicke auf die Schaltfläche, um sie in deinen Betreff oder Text einzufügen.
Option 2: Behebe die Syntax manuell
Wenn du die Tokens lieber selbst eingeben möchtest, umschließe Spaltennamen, die Sonderzeichen enthalten, in ["..."]:
| Falsch | Richtig |
|---|---|
{{Date(s)}} | {{ ["Date(s)"] }} |
{{Day(s)/Date(s):}} | {{ ["Day(s)/Date(s):"] }} |
{{Time(s):}} | {{ ["Time(s):"] }} |
Option 3: Benenne deine Spalten im Spreadsheet um
Du kannst dieses Problem ganz vermeiden, indem du deine Spalten umbenennst, sodass 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.