erreur de syntaxe liquide erreur de tokenisation syntaxe de plage invalide caractères spéciaux parenthèses dans le jeton erreur de nom de colonne erreur de champ de fusion erreur de modèle erreur de syntaxe erreur de jeton

Pourquoi est-ce que je vois "Erreur dans la syntaxe liquide" ?

Comment corriger l'erreur de tokenisation causée par des caractères spéciaux comme les parenthèses, les barres obliques ou les deux-points à l'intérieur des jetons de personnalisation.

Contents

Ce que signifie cette erreur

SecureMailMerge utilise le langage de template Liquid pour traiter tes jetons de personnalisation. Liquid considère tout ce qui est à l’intérieur des accolades (par exemple, {{…}}) comme du code, pas du texte brut. Quand un nom de colonne contient des caractères spéciaux, Liquid essaie de les interpréter comme des opérateurs de programmation et échoue.

Par exemple, si ton tableau a une colonne appelée Date(s) et que tu tapes {{Date(s)}} dans ton email, Liquid voit :

  • Date — un nom de variable
  • (s) — ce qui ressemble à un appel de fonction ou une expression de plage

Cela déclenche l’erreur :

TokenizationError: syntaxe de plage invalide

Caractères qui causent cette erreur

Les caractères suivants ont une signification spéciale dans Liquid et provoqueront des erreurs lorsqu’ils sont utilisés à l’intérieur des accolades :

CaractèreCe que Liquid pense que cela signifie
( )Expression de plage ou regroupement
/Opérateur de division
:Séparateur d’argument de filtre
+ - *Opérateurs arithmétiques

Donc, une colonne nommée Date(s) ou Day(s)/Date(s): va poser problème car Liquid essaie d’analyser ces caractères comme du code.

Comment le réparer

Option 1 : Utiliser le menu déroulant de colonne (recommandé)

La solution la plus simple est d’utiliser le menu déroulant des jetons de personnalisation dans SecureMailMerge au lieu de taper le jeton manuellement. Le menu déroulant enveloppe automatiquement les noms de colonnes contenant des caractères spéciaux dans la bonne syntaxe d’échappement :

{{ ["Date(s)"] }}

Les crochets et les guillemets indiquent à Liquid de traiter l’ensemble de la chaîne comme un nom de colonne plutôt que comme du code. Il suffit de sélectionner la colonne dans le menu déroulant et de cliquer sur le bouton pour l’insérer dans ton sujet ou ton corps.

Option 2 : Corriger la syntaxe manuellement

Si tu préfères taper les jetons toi-même, enveloppe les noms de colonnes contenant des caractères spéciaux dans ["..."] :

IncorrectCorrect
{{Date(s)}}{{ ["Date(s)"] }}
{{Day(s)/Date(s):}}{{ ["Day(s)/Date(s):"] }}
{{Time(s):}}{{ ["Time(s):"] }}

Option 3 : Renommer les colonnes de ta feuille de calcul

Tu peux éviter ce problème complètement en renommant tes colonnes pour n’utiliser que des lettres, des chiffres et des underscores :

AvantAprès
Date(s)Dates
Day(s)/Date(s):Day_Dates
Time(s):Times

Après avoir renommé, des jetons simples comme {{Dates}} fonctionneront sans aucune syntaxe spéciale.

Liens