Passer au contenu principal
Lorsque vous utilisez les modèles de courriel disponibles sur , vous avez la possibilité d’utiliser le langage de modèle Liquid pour sélectionner les données appropriées et formater vos courriels. Liquid est un langage de création de modèles open-source qui étend la fonctionnalité de HTML et que vous pouvez utiliser pour générer dynamiquement vos courriels afin d’y inclure diverses informations. Pour en savoir plus, veuillez consulter Liquid for Designers sur Github. En utilisant Liquid, vous pouvez structurer le Subject de vos courriels pour afficher le nom de l’application approprié, plutôt que de coder en dur une valeur particulière : We are {{application.name}}! Le HTML avec la syntaxe Liquid est pris en charge dans tous les champs (sauf URL Lifetime) des modèles de courriel de vérification, de confirmation de changement de mot de passe et de compte bloqué. Pour plus d’informations sur les attributs de sortie pris en charge et leur utilisation, voir Personnaliser les modèles de courriel. Il existe deux types de balisage dans Liquid : la sortie et la balise.

Balisage de sortie

Le balisage de sortie se résout en texte et est entouré de deux paires d’accolades correspondantes : Hello {{ name }}! Vous pouvez personnaliser davantage l’apparence de la sortie en utilisant des filtres, qui sont des méthodes simples. Par exemple, le filtre upcase convertira le texte transmis au filtre en majuscules : Hello {{ name | upcase }}! Plusieurs filtres sont séparés par | et sont traités de la gauche vers la droite, appliquant le filtre suivant au résultat du précédent. Le modèle affichera le résultat final. Les filtres suivants sont pris en charge :
FiltreDescriptionExemple
appendAjouter une chaîne{{ 'foo' | append:'bar' }} #=> 'foobar'
capitalizeMettre en majuscule les mots de la phrase d’entrée{{ "my great title" | capitalize }} #=> My great title
dateReformater une date (syntax reference (référence sur la syntaxe))
defaultRenvoie la variable donnée sauf si elle est null ou la chaîne vide, quand il retournera la valeur donnée{{ undefined_variable | default: "Default value" }} #=> "Default value"
divided_byDivision entière{{ 10 | divided_by:3 }} #=> 3
downcaseConvertir une chaîne de caractères en minuscules,{{ "Parker Moore" | downcase }} #=> parker moore
escapeHTML échappe une chaîne{{ "Avez-vous lu 'James & the Giant Peach'?" | escape }} #=> Avez-vous lu 'James & the Giant Peach'?
escape_onceRenvoie une version HTML échappée sans affecter les entités échappées existantes{{ "1 < 2 & 3" | escape_once }} #=> 1 < 2 & 3
firstObtenir le premier élément du tableau passé
joinJoindre des éléments du tableau avec un certain caractère entre eux
lastObtenir le dernier élément du tableau passé
mapMapper/collecter un tableau sur une propriété donnée
minusSoustraction{{ 4 | minus:2 }} #=> 2
moduloReste{{ 3 | modulo:2 }} #=> 1
newline_to_brRemplacer chaque nouvelle ligne (\n) par une séparation HTML
plusAddition{{ '1' | plus:'1' }} #=> 2, {{ 1 | plus:1 }} #=> 2
prependPréfixer une chaîne{{ 'bar' | prepend:'foo' }} #=> 'foobar'
removeSupprimer chaque occurrence{{ 'foobarfoobar' | remove:'foo' }} #=> 'barbar'
remove_firstSupprimer la première occurrence{{ 'barbar' | remove_first:'bar' }} #=> 'bar'
replaceRemplacer chaque occurrence{{ 'foofoo' | replace:'foo','bar' }} #=> 'barbar'
replace_firstRemplacer la première occurrence{{ 'barbar' | replace_first:'bar','foo' }} #=> 'foobar'
roundArrondit l’entrée au nombre entier le plus proche ou au nombre spécifié de décimales{{ 4.5612 | round: 2 }} #=> 4.56
sizeRenvoie la taille d’un tableau ou d’une chaîne{{ "Ground control to Major Tom." | size }} #=> 28
sortTrier les éléments du tableau
splitDiviser une chaîne sur un motif correspondant{{ "a~b" | split:"~" }} #=> ['a','b']
strip_htmlSupprimer HTML à partir de la chaîne{{ "How <em>are</em> you?" | strip_html }} #=> How are you?
strip_newlinesSupprimer toutes les nouvelles lignes (\n) de la chaîne
timesMultiplication{{ 5 | times:4 }} #=> 20
truncateTronquer une chaîne jusqu’à x caractères. Accepte également un deuxième paramètre qui s’ajoutera à la chaîne{{ 'foobarfoobar' | truncate: 5, '.' }} #=> 'foob.'
truncatewordsTronquer une chaîne jusqu’à x mots.
upcaseConvertir une chaîne saisie en majuscule{{ "Parker Moore" | upcase }} #=> PARKER MOORE

Marquage de balises

Le marquage des balises ne se résout pas en texte et est entouré par une paires d’accolades correspondantes et de signes de pourcentages : {% this does not resolve to text %} Les balises sont généralement utilisées pour appliquer une logique à votre modèle. En utilisant les balises prises en chargepar Liquid, vous pouvez faire en sorte qu’un modèle réponde à plusieurs besoins. Vous pouvez utiliser des balises pour exécuter des instructions if / else afin qu’un modèle unique envoie des courriels dans plusieurs langues. Par exemple : {% if user.user_metadata.lang == 'en' %} [email body in English] {% elsif user.user_metadata.lang == 'de' %} [email body in German] {% endif %} Si vous avez besoin d’utiliser des conditions supplémentaires, envisagez d’utiliser une instruction case. Pour en savoir plus sur les instructions case, veuillez consulter Liquid pour Designers sur Github.

Commentaires sur les balises

Tout contenu entre les balises {% comment %} et {% endcomment %} ne sera pas affiché. This will be seen. {% comment %} This will not be seen. {% endcomment %}

Balise brute

Pour désactiver temporairement le traitement du balisage Liquid, utilisez {% raw %} et {% endraw %}. Ceci est utile si vous utilisez une syntaxe qui entre en conflit avec Liquid. Par exemple, vous pouvez échapper la ligne Mustache.js suivante de la façon ci-après : {% raw %} var clients = "Clients:<ul>{{#client}}<li>{{fn}} {{ln}}" + {{phone}}</li>{{/client}}</ul>"; {% endraw %}

Déboguer les variables

Pour vous aider dans le développement de vos modèles, nous avons ajouté une balise {% debug %} Liquid personnalisée qui affiche un résumé des variables de modèle disponibles pour votre modèle lors de son rendu. N’oubliez pas de supprimer cette balise de tous les modèles en « direct ».

En savoir plus

I