Conditions et boucles

Dernière mise à jour le 23 mars 2026

Le panneau Logic du builder vous permet de contrôler quand les éléments apparaissent et comment ils se répètent. Vous pouvez rendre n’importe quel élément conditionnel (visible uniquement quand une condition sur les données est remplie), ou le répéter une fois pour chaque élément d’une collection. Ces deux fonctionnalités couvrent les schémas de contenu dynamique les plus courants : afficher ou masquer des sections selon le contexte, et générer des rangées à partir d’une liste d’éléments.

Le panneau Logic

Sélectionnez n’importe quel élément sur le canevas (sauf la racine du document), puis basculez vers l’onglet Settings dans le panneau droit. La section Logic apparaît sous la section Élément Info, avec deux boutons bascule : Visibility Condition (Condition de visibilité) et Répétition.

Un petit point indigo apparaît à côté du titre « Logic » lorsque l’une ou l’autre des fonctionnalités est active sur l’élément sélectionné.

Conditions de visibilité

Activez Visibility Condition pour qu’un élément n’apparaisse que lorsqu’une condition est vraie. Un champ de saisie apparaît dans lequel vous entrez une expression JavaScript évaluée par rapport aux données de test de votre document.

Le panneau Logic avec une condition de visibilité active, montrant le statut vert « visible »

Écrire des conditions

La condition est une expression JavaScript qui a accès à vos données de test. Quelques exemples :

ConditionCe qu’elle fait
customer.isPremiumAffiche l’élément quand le client est premium
items.length > 0Affiche l’élément quand le tableau items n’est pas vide
order.status === 'paid'Affiche l’élément quand le statut de la commande est « paid »
total >= 1000Affiche l’élément quand le total est de 1 000 ou plus

Évaluation en temps réel

Le panneau Logic évalue votre condition par rapport aux données de test actuelles en temps réel et affiche le résultat :

  • Vert (« Element is currently visible ») : la condition s’évalue à une valeur truthy avec vos données de test actuelles, donc l’élément apparaît dans l’aperçu.
  • Rouge (« Element is currently hidden ») : la condition s’évalue à une valeur falsy, donc l’élément est masqué dans l’aperçu.

Le panneau Logic montrant le statut rouge « hidden » quand la condition s’évalue à false

Si la condition contient une erreur de syntaxe, un bandeau d’erreur rouge apparaît en bas du builder.

Un lien vers Edit test data apparaît sous l’indicateur de statut, vous permettant d’ajuster rapidement vos données de test pour essayer différents scénarios.

Répétition

Activez Répétition pour répéter un élément une fois pour chaque item d’une collection de vos données de test. Deux champs de saisie apparaissent :

  • Collection : le chemin vers un tableau dans vos données de test (par exemple, invoice.products ou users)
  • Item name (Nom de l’item) : le nom de variable pour l’item courant dans la boucle (auto-suggéré en mettant au singulier le nom de la collection)

Le panneau Logic avec la Répétition active, montrant les champs collection et item avec les variables disponibles

Comment ça fonctionne

Lorsque vous entrez un chemin de collection comme lineItems, le builder suggère automatiquement un nom d’item lineItem (la forme singulière). Vous pouvez le changer pour n’importe quel nom de votre choix.

Le panneau affiche ensuite un résumé de ce que fait la boucle et liste les variables disponibles :

VariableDescription
La variable d’item (ex. lineItem)L’item courant de la collection
La variable d’index (ex. lineItemIndex)La position à base zéro de l’item courant

Le panneau montre également des expressions d’aide que vous pouvez copier pour des vérifications courantes :

  • Vérification du premier item : lineItemIndex === 0
  • Vérification du dernier item : lineItemIndex === lineItems.length - 1

Utiliser les variables de boucle dans les éléments enfants

Les éléments enfants d’un élément répété peuvent référencer les variables d’item et d’index. Par exemple, si vous répétez un conteneur sur lineItems avec le nom d’item lineItem, un bloc Text à l’intérieur de ce conteneur peut afficher lineItem.name ou lineItem.price en utilisant le navigateur de variables.

Visibilité et répétition sont mutuellement exclusives

Vous ne pouvez pas activer à la fois Visibility Condition et Répétition sur le même élément. Le builder impose cette règle : quand un bouton bascule est actif, l’autre est désactivé. Combiner les deux sur un même élément HTML produirait un comportement ambigu.

Solution :

Si vous avez besoin de répéter des éléments et aussi d’en afficher certains conditionnellement, imbriquez deux éléments. Placez un Container avec la Répétition activée, et à l’intérieur, placez un élément enfant avec une Visibility Condition. Le conteneur se répète pour chaque item, et l’enfant à l’intérieur apparaît ou se masque selon la condition.

Combiner avec les styles situationnels

Les éléments répétés fonctionnent bien avec les styles situationnels. Une fois qu’un élément se répète sur une collection, vous pouvez appliquer des styles différents pour les items pairs et impairs, mettre en évidence le premier ou le dernier item, ou afficher un contenu de remplacement quand la collection est vide. Consultez la page Styles situationnels pour plus de détails.

Questions fréquentes

Comment afficher ou masquer un élément de façon conditionnelle dans le builder PDFMonkey ?
Sélectionnez l’élément, ouvrez l’onglet Settings, puis activez Visibility Condition dans la section Logic. Saisissez une expression JavaScript évaluée par rapport aux données de votre document — par exemple, « customer.isPremium » ou « items.length > 0 ». L’élément n’apparaît que lorsque la condition est vraie.
Comment boucler sur une liste d'éléments dans un modèle builder PDFMonkey ?
Sélectionnez l’élément que vous souhaitez répéter, ouvrez le panneau Logic et activez Repetition. Saisissez le chemin vers un tableau dans vos données (par ex. « invoice.products ») comme Collection et choisissez un nom d’élément (Item name). Le builder répète l’élément une fois pour chaque entrée du tableau.
Peut-on utiliser à la fois les conditions de visibilité et la répétition sur le même élément ?
Non. Le builder n’autorise qu’une seule option à la fois sur un même élément. Pour répéter des éléments et en afficher certains de façon conditionnelle, imbriquez un enfant avec une Visibility Condition à l’intérieur d’un Container parent sur lequel la Repetition est activée.