Boucles et conditions dans pdfMachine merge
Liquid vous permet d'appliquer une mise en forme, d'effectuer des boucles, des conditions, etc. basées sur les valeurs de votre source de données. Les filtres et balises standard sont pris en charge comme mentionné dans Liquid For Designers et DotLiquid For Designers.
Remarque : Pour utiliser les balises de modélisation Liquid dans le corps de l'e-mail, l'éditeur de corps d'e-mail doit toujours être en mode « Source ». Le mode « wysiwyg » ne conservera pas les balises Liquid.
Des exemples de mise en forme des champs de fusion peuvent être trouvés ici.
Balises Liquid - conditions
La sortie conditionnelle vous permet de contrôler l'affichage du contenu en fonction de la valeur du champ de fusion. Cela peut être fait en utilisant les balises Liquid standard telles que les balises 'if/else', 'unless' dans un modèle/corps HTML ou un modèle Word.
Les balises sont la logique de programmation qui indique aux modèles ce qu'il faut faire. Les balises sont encadrées par des caractères : {% %}.
Par exemple. Ce qui suit ne s'affichera que s'il y a des données dans la cellule « name » de la source de données :
Entrée :
{% if name != "" %}
Hello {{ name }}
{% endif %}
Sortie :
Hello John
Par exemple. Ce qui suit ne s'affichera que si la cellule « age » de la source de données a une valeur supérieure ou égale à 18 :
Entrée :
{% unless age >= 18 %}
La signature d'un parent / tuteur est requise.
{% endif %}
Sortie lorsque la valeur de age est supérieure à 18 :
La signature d'un parent / tuteur est requise.
Boucles
La boucle à travers les lignes pour afficher des éléments de ligne peut être effectuée en utilisant l'une des méthodes suivantes dans un modèle HTML :
Lors du référencement des champs de fusion pour les boucles, utilisez des minuscules pour le champ de fusion. Par exemple, {{row.name | repeat_row}} doit être utilisé et non {{row.Name | repeat_row}}. Tout ce qui suit le point doit être en minuscules.
Consultez l'exemple de profil montrant comment boucler à travers les lignes et créer des éléments de ligne dans un modèle Word ici.
Les filtres repeat_row, repeat_par
repeat_row
Répète la ligne de tableau actuelle. Fonctionne avec les modèles HTML et Word. Voir un exemple.repeat_par
Pour les documents HTML, répète les blocs P, LI ou DIV actuels.Pour les documents Word, répète le paragraphe actuel.
Cela peut être utilisé lorsque la « méthode lignes vers e-mails » est définie sur « une ou plusieurs lignes génèrent un e-mail », ce qui a pour effet de regrouper les lignes en fonction d'un champ de fusion, généralement l'adresse e-mail.
REMARQUE : vous placez le filtre sur un seul élément de données dans la ligne ou le paragraphe que vous répétez.
Remarque dans l'exemple : les noms des champs de fusion doivent être précédés de « row. »
Exemple repeat_row
Entrée :
| Nom | Montant |
|---|---|
| {{row.name | repeat_row}} | {{row.amount}} |
| Nom | Montant | |
|---|---|---|
| Dave | 1230 | |
| Dave | 1000 |
Exemple repeat_par
"=""> Entrée :
Nom : {{ row.name | repeat_par }}
Montant : {{ row.amount }}
Sortie :
Nom : Dave
Montant : 1230
Nom : Dave
Montant : 1000
Ces filtres sont un raccourci pour la boucle 'for' Liquid. Plus précisément, la balise Liquid "{% for row in _rows %}" est placée autour du paragraphe ou de la ligne. La boucle for Liquid ne fonctionne pas bien pour les éditeurs HTML visuels lorsqu'elle est utilisée autour de lignes de tableau, c'est donc l'option privilégiée.
Balises Liquid - boucles avec la boucle 'for'
Les balises sont la logique de programmation qui indique aux modèles ce qu'il faut faire. Les balises sont encadrées par des caractères : {% %}.
Entrée :
{% for row in _rows %}
Nom : {{ row.name }}
Montant : {{ row.amount }}
{% endfor %}
Sortie :
Nom : Dave
Montant : 1230
Nom : Dave
Montant : 1000
Si vous avez besoin d'aide ou de plus d'informations sur cette fonctionnalité, veuillez contacter [email protected]
Balise word_table
Définit un tableau dans Word à utiliser pour la répétition de lignes. Très similaire au filtre repeat_row, mais prend un paramètre qui est la collection à itérer. Une ligne sera créée pour chaque élément de la collection. Après le tableau, vous devez fermer avec une balise « endword_table ».
Par exemple :Entrée
Sortie
Lors du référencement des champs de fusion pour les balises word_table, utilisez des minuscules pour le champ de fusion. Par exemple, {{row.invoice_id}} doit être utilisé et non {{row.Invoice_Id}}. Tout ce qui suit le point doit être en minuscules.