Contenu conditionnel

Les conditions sont une partie importante des modèles de documents. Elles vous permettent de choisir entre des valeurs et de cacher du contenu. Disons que vous souhaitez afficher une phrase uniquement si pays_client est “Canada”.

1. Aller à la page du bac à sable

Nous utiliserons le bac à sable pour ce tutoriel. Si vous n’êtes pas familier avec, veuillez lire le tutoriel Utiliser le bac à sable.

Ouvrez le bac à sable :

  1. Connectez-vous sur https://documold.com
  2. Cliquez sur “Bac à sable” dans le menu à gauche
  3. Cliquez sur “Réinitialiser” en haut pour que vous commenciez avec le contenu que ce tutoriel attend

2. Pour quelques mots

Pour une phrase simple, la fonction IF peut suffire.

Elle ressemble à ceci : IF(condition, valeur_si_vrai, valeur_si_faux). La condition est évaluée et si elle est TRUE, valeur_si_vrai est renvoyée, sinon valeur_si_faux est renvoyée.

Note : valeur_si_faux est optionnel.

Dans le bac à sable, entrez ceci dans une nouvelle ligne dans la boîte de gauche du bac à sable :

<# IF(pays_client = "Canada", "Vous êtes au Canada !") #>

La boîte de droite ne montrera rien encore. Le signe égal (=) évalue à vrai seulement si les valeurs de chaque côté sont les mêmes.

Maintenant, en bas à gauche, définissez la valeur de pays_client à Canada (la casse est importante, majuscule “C”). Vous devriez alors voir apparaître “Vous êtes au Canada !” dans la boîte de droite.

Pour afficher quelque chose quand pays_client n’est pas “Canada”, ajoutez une autre virgule puis le texte désiré. Par exemple :

<# IF(pays_client = "Canada", "Vous êtes au Canada !", "Vous n'êtes pas au Canada") #>

La fonction IF est utile pour une courte phrase sans mise en forme (comme ci-dessus). Note :

  • Les exemples ont utilisé des valeurs directement, mais comme pour toutes les fonctions, vous pouvez utiliser des variables et d’autres fonctions dans chacune d’elles.
  • Son résultat peut être utilisé dans n’importe quelle commande, elle agit comme n’importe quelle fonction. Donc ceci est valide :
    <# UPPER(IF(utiliser_nom_complet, nom_complet, prénom)) #>
    

3. Pour une section entière

Quand le contenu à cacher/afficher est plus grand, comme des paragraphes entiers et que le contenu contient de la mise en forme, la fonction IF ne fera pas l’affaire.

À la place, les actions @IF et @ENDIF peuvent être utilisées pour envelopper des sections entières de votre document. Nous expliquerons cela bientôt.

Ajoutez ces nouvelles lignes dans la boîte de gauche du bac à sable :

<# @IF(pays_client = "Belgique") #>
Puisque le client est de Belgique, ces étapes supplémentaires sont nécessaires :

* Conversion de devise
* Prendre en compte les fuseaux horaires lors de la prise de rendez-vous
<# @ENDIF #>

Maintenant changez la valeur de pays_client à Belgique pour voir votre contenu apparaître sur le côté droit.

4. Actions… ?

Les actions ressemblent à des fonctions, mais au lieu de renvoyer une valeur, elles indiquent à DocuMold ce qu’une commande doit faire.

Les actions commencent toujours par une arobase @. Une commande ne peut contenir qu’une action et elle doit être la première chose dans celle-ci. Si aucune action n’est spécifiée, DocuMold traite la commande comme une action @WRITE, qui écrit le résultat dans le document comme nous l’avons vu jusqu’à présent.

Il pourrait y avoir un peu de confusion entre IF et @IF. C’est le seul cas où une action et une fonction portent le même nom. IF est une fonction, donc elle peut être utilisée partout, et elle renvoie une valeur à être utilisée par d’autres fonctions/commandes. @IF est l’action, qui peut cacher des sections entières de votre document.

Pour clarifier :

  • <# ... #> est une commande
  • @IF(...) est une action
  • UPPER(...) est une fonction
  • nom_client est une variable

De nombreuses actions sont disponibles dans DocuMold, les tutoriels les aborderont progressivement.

5. Sections différentes

Pour montrer un contenu différent lorsque la condition est fausse, utilisez l’action @ELSE. Elle doit être entre les actions @IF et @ENDIF.

Ajoutez ceci avant le <# @ENDIF #> :

<# @ELSE #>
Il n'y a pas d'étapes supplémentaires pour le pays du client.

Dans l’ensemble, cela devrait ressembler à :

<# @IF(pays_client = "Belgique") #>
Puisque le client est de Belgique, ces étapes supplémentaires sont nécessaires :

* Conversion de devise
* Prendre en compte les fuseaux horaires lors de la prise de rendez-vous
<# @ELSE #>
Il n'y a pas d'étapes supplémentaires pour le pays du client.
<# @ENDIF #>

Donc maintenant, si pays_client est différent de Belgique, le “Il n’y a pas d’étapes supplémentaires pour le pays du client.” devrait apparaître dans la boîte de droite.

6. Un second pays

Ajoutons un deuxième pays pour lequel nous voulons un contenu différent. Les Canadiens sont sympas, mentionnons la remise que nous avons pour eux !

Nous utiliserons maintenant l’action @ELSEIF. Ajoutez ceci avant le <# @ELSE #> :

<# @ELSEIF(pays_client = "Canada") #>
Offrez un cadeau aux clients canadiens.

Résultant en :

<# @IF(pays_client = "Belgique") #>
Puisque le client est de Belgique, ces étapes supplémentaires sont nécessaires :

* Conversion de devise
* Prendre en compte les fuseaux horaires lors de la prise de rendez-vous
<# @ELSEIF(pays_client = "Canada") #>
Offrez un cadeau aux clients canadiens.
<# @ELSE #>
Il n'y a pas d'étapes supplémentaires en fonction du pays du client.
<# @ENDIF #>

Nous avons maintenant deux cas spéciaux pour pays_client, qui montrent des sections différentes, et un cas final affiché quand le pays est autre chose.

  • Tout comme @ELSE, @ELSEIF va entre un @IF et un @ENDIF.
  • Vous pouvez avoir plusieurs @ELSEIF consécutifs.
  • Si vous utilisez aussi un @ELSE, le @ELSE doit être après tous les @ELSEIF.

Conclusion

Les conditions sont un outil important pour faire en sorte que les modèles génèrent exactement ce que vous voulez. Si vous voulez plus d’informations sur @IF et ses actions liées, cette explication se concentre sur le sujet : Clarifier @IF

Dans ce tutoriel, tout ce que nous avons utilisé comme condition était =. Plus d’options sont disponibles, mais elles ne seront pas montrées dans ces tutoriels. Pour en savoir plus, lisez cette explication : Conditions.