Avec TWIG, vous pouvez créer dynamiquement du contenu dans les thèmes Aivie, formater des valeurs, effectuer des calculs et utiliser des conditions. TWIG est notamment utilisé dans les fichiers de template pour les e-mails, les landing pages, les formulaires et les notifications système.
Comment fonctionne un filtre TWIG ?
Un filtre s’ajoute à une valeur à l’aide d’une barre verticale :
{{ value|filter }}
Par exemple :
{{ firstname|default('Guten Tag') }}
{{ title|upper }}
Plusieurs filtres peuvent être combinés :
{{ title|trim|upper }}
Modifier du texte
Pour les textes, les filtres suivants sont notamment disponibles :
| Filtre | Utilisation |
|---|---|
upper | Convertir le texte en majuscules |
lower | Convertir le texte en minuscules |
title | Mettre une majuscule au début de chaque mot |
capitalize | Mettre une majuscule à la première lettre |
trim | Supprimer les espaces au début et à la fin |
replace | Remplacer du texte |
striptags | Supprimer les balises HTML |
nl2br | Convertir les sauts de ligne en HTML |
length | Déterminer le nombre de caractères ou d’éléments |
default | Utiliser une valeur de remplacement lorsqu’aucune valeur n’est disponible |
Exemple :
{{ company|default('deinem Unternehmen')|trim }}
Formater des nombres et effectuer des calculs
Twig prend en charge les opérateurs arithmétiques habituels :
{{ a + b }}
{{ a - b }}
{{ a * b }}
{{ a / b }}
{{ a // b }}
{{ a % b }}
{{ a ** b }}
En plus, les filtres et fonctions suivants sont utiles :
| Filtre ou fonction | Utilisation |
|---|---|
int | Convertir une valeur en nombre entier |
abs | Déterminer la valeur absolue |
round | Arrondir un nombre |
number_format | Formater un nombre pour l’affichage |
min() | Déterminer la plus petite valeur |
max() | Déterminer la plus grande valeur |
Exemple avec le format de nombres suisse :
{{ (price|int * quantity|int)|number_format(2, '.', "'") }}
Vous pouvez arrondir un nombre comme ceci :
{{ value|round(2) }}
{{ value|round(0, 'ceil') }}
{{ value|round(0, 'floor') }}
Utiliser des valeurs de date
Avec date et date_modify, vous pouvez formater ou modifier des valeurs de date :
{{ "now"|date("d.m.Y") }}
{{ dateValue|date("d.m.Y") }}
{{ dateValue|date_modify("+30 days")|date("d.m.Y") }}
Traiter des listes et des tableaux
Pour les listes, les filtres suivants sont notamment disponibles :
| Filtre | Utilisation |
|---|---|
first | Afficher le premier élément |
last | Afficher le dernier élément |
join | Assembler des éléments en un texte |
split | Diviser un texte en éléments |
keys | Afficher les clés d’un tableau |
merge | Fusionner des listes ou des tableaux |
slice | Utiliser un extrait |
sort | Trier des éléments |
reverse | Inverser l’ordre |
batch | Répartir des éléments en groupes |
Exemple :
{{ tags|join(', ') }}
Utiliser des conditions et des boucles
Avec des conditions, vous pouvez afficher du contenu en fonction d’une valeur :
{% if points|int >= 100 %}
Du hast mindestens 100 Punkte erreicht.
{% else %}
Dir fehlen noch einige Punkte.
{% endif %}
Vous pouvez afficher des listes à l’aide d’une boucle :
{% for item in items %}
{{ item }}
{% endfor %}
Une somme peut également être calculée de manière sûre avec une boucle :
{% set total = 0 %}
{% for value in values %}
{% set total = total + (value|int) %}
{% endfor %}
{{ total|number_format(2, '.', "'") }}
Certaines fonctions sont bloquées pour des raisons de sécurité
Certains filtres peuvent accepter des fonctions exécutables comme argument. Aivie les bloque donc afin d’empêcher l’exécution de code non autorisé. Par exemple :
mapfilterreduce
Sont également bloquées les fonctions qui pourraient accéder à la configuration du système, à la base de données, aux fichiers ou à des fonctions PHP internes.
Si vous avez besoin d’un calcul spécifique ou d’une conversion de données qui n’est pas réalisable avec les possibilités disponibles, contactez-nous. Nous vérifierons alors s’il est possible d’ajouter un filtre sûr et clairement limité pour cela.
Important : Tous les champs de texte de l’éditeur Aivie ne traitent pas TWIG. Pour la personnalisation standard des e-mails, vous continuez d’utiliser les tokens Aivie ou Mautic disponibles.
En bref
Aivie prend en charge les fonctions TWIG habituelles pour les textes, les nombres, les dates, les listes, les conditions et les boucles. Les fonctions dangereuses et les filtres avec des callbacks librement exécutables sont bloqués dans les thèmes téléversés pour des raisons de sécurité.
Pour plus d’informations, consultez le site web de TWIG.

