Flüssigkeits-Syntaxfehler Tokenisierungsfehler ungültige Bereichssyntax Sonderzeichen Klammern im Token Spaltenname Fehler Zusammenführungsfeldfehler Vorlagenfehler Syntaxfehler Token-Fehler

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:

ZeichenWas 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 ["..."]:

FalschRichtig
{{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:

VorherNachher
Date(s)Dates
Day(s)/Date(s):Day_Dates
Time(s):Times

Nach dem Umbenennen funktionieren einfache Tokens wie {{Dates}} ohne spezielle Syntax.

Verwandt