Les bases du travail avec les modèles
Les modèles prennent en charge des variables définies et une syntaxe spéciale qui offre plus de possibilités que les modèles statiques. Autrement dit, un certain texte est transformé selon des règles définies. Si vous avez travaillé avec le moteur de templates Twig, alors vous connaissez déjà presque tout le nécessaire. Cette page décrit la fonctionnalité de base disponible. Ceux qui souhaitent en savoir plus peuvent prendre connaissance de la documentation officielle de Twig. Cependant, toutes les possibilités de Twig ne sont pas disponibles dans nos modèles, c'est pourquoi n'oubliez pas de vérifier le résultat à l'aide de la fonction d'aperçu, ainsi que de faire des envois de test vers vos propres comptes avant de lancer une campagne vers un grand nombre d'utilisateurs réels.
Variables disponibles dans les modèles :
- subscriber — c'est un objet qui contient des informations sur l'abonné actuel. Vous pouvez consulter la structure complète de cette variable sur une page séparée.
- campaign — c'est un objet qui contient des informations sur la campagne d'envoi actuelle. Vous pouvez consulter la structure complète de cette variable sur une page séparée. Cette variable ne contiendra pas de données en mode aperçu, car celui-ci fonctionne en dehors du contexte de toute campagne d'envoi.
- unsubscribe_url — c'est un lien HTTP vers notre page, où l'abonné peut se désabonner de la campagne d'envoi actuelle. Si vous avez vos propres paramètres d'abonnement sur votre site, vous pouvez utiliser un lien de désabonnement qui mène à votre site. Si l'abonné ne trouve pas une possibilité simple et pratique de se désabonner d'un envoi non désiré, il marquera probablement votre e-mail comme spam, c'est pourquoi nous recommandons de fournir dans chaque e-mail la possibilité de se désabonner. Cette variable ne sera pas disponible en mode aperçu.
Dans les modèles, on peut utiliser des variables
Pour utiliser une variable, il faut l'entourer de doubles accolades. Par exemple, pour afficher la variable test126, il faut écrire {{ test126 }}. Le respect de la casse (majuscules et minuscules) est obligatoire, tandis que les espaces — sont optionnels. Autrement dit, on peut écrire {{test126}} ou {{ test126 }}, mais {{ TESt126 }} — on ne peut pas. La variable test126 est un exemple, en réalité une telle variable n'existe pas chez nous.
Si une variable est un objet complexe et possède ses propres propriétés, l'accès à celles-ci se fait via un point. Par exemple, l'accès à la propriété id de la variable subscriber se présente ainsi : {{ subscriber.id }}. C'est un exemple réel — dans les modèles, la variable subscriber est disponible, et elle possède la propriété id. Vous pouvez consulter la liste complète des propriétés sur une page séparée. Aux tableaux, on peut accéder par index, en utilisant des crochets. En même temps, il faut être sûr qu'un tel index existe. Par exemple, {{ subscriber.tags[0] }}. Si l'abonné n'a aucun tag, la tentative d'afficher le premier tag (d'index 0) n'affichera rien (autrement dit, une «chaîne vide» sera affichée, comme disent les programmeurs).
On peut effectuer des opérations de base avec les données
Les opérations mathématiques sont prises en charge :
- addition
{{ price + tax }} - multiplication
{{ count * 2 }} - division
{{ total / 3 }}
Opérateur conditionnel (IF)
- if de base
{% if subscriber.is_active %} Vous êtes abonné à l'envoi {% endif %} - opérateur if avec bloc else
{% if subscriber.is_active %} Vous êtes abonné à l'envoi {% else %} Vous êtes désabonné de l'envoi {% endif %} - Chaîne de vérifications
{% if subscriber.gender == 'male' %} Vous êtes un homme {% elseif subscriber.gender == 'female' %} Vous êtes une femme {% elseif subscriber.gender == '' %} Votre sexe n'est pas indiqué {% endif %}
L'opérateur if doit obligatoirement avoir une balise d'ouverture {% if condition %} et une balise de fermeture {% endif %}. À l'intérieur, on peut placer n'importe quel nombre de sections {% elseif condition %}. On peut également, de manière optionnelle, ajouter une section {% else %}, qui se déclenchera sans conditions supplémentaires, si l'exécution parvient jusqu'à elle. Autrement dit, si les conditions de déclenchement (condition) de toutes les parties précédentes de l'opérateur if ne se sont pas vérifiées.
Boucles (FOR)
Les boucles servent à afficher des listes. Imaginons que nous ayons une liste stockée dans la variable items. Voici comment on peut la parcourir :
{% for item in items %} {{ item }}{% endfor %}
La valeur de la variable item sera différente à chaque itération de la boucle. À l'intérieur de la boucle sont également disponibles quelques autres variables relatives à l'itération actuelle :
- loop.index — numéro de l'itération, commence à 1
- loop.first — est-ce la première itération ? (true/false)
- loop.last — est-ce la dernière itération ? (true/false)
La boucle peut être combinée avec une vérification de la présence de données :
{% for item in items %} {{ item }}{% else %} Le tableau items est vide{% endfor %}