unless |
Sauf si |
|---|---|
| Liquid (Microsoft) | |
Syntaxe
|
{% unless condition %} ... contenu à exécuter si la condition est fausse ... {% endunless %} |
Paramètres
| Nom | Description |
|---|---|
| condition | Ce paramètre permet de spécifier une expression logique ou conditionnelle. Si cette condition est fausse, alors le bloc d'instructions contenu entre {% unless %} et {% endunless %} sera exécuté. |
Description
Cette balise permet d'exécuter un bloc d'instructions si une condition est fausse (opposé du if).
Remarques
- Inverse fonctionnel de la balise if : La balise {% unless %} fonctionne comme l'opposé de {% if %} : elle exécute son bloc de contenu uniquement lorsque la condition spécifiée est fausse. Cela permet une écriture plus fluide et plus naturelle dans certains cas logiques, surtout lorsqu'on souhaite éviter une négation explicite ({% if not condition %}).
- Syntaxe lisible pour exprimer l'exception : {% unless %} améliore la lisibilité du code lorsqu'on veut capturer une exception ou une situation inattendue. Par exemple, afficher un message « Aucune donnée disponible » si la collection est vide devient plus intuitif avec unless collection.
- Très utile pour la gestion d'états par défaut : Dans les portails Power Pages, on l'utilise fréquemment pour afficher des contenus par défaut (messages d'erreur, valeurs de secours, liens alternatifs) lorsque certaines conditions ne sont pas remplies. Cela rend le comportement des pages plus robuste et plus explicite.
- Supporte les mêmes types de conditions que if : La condition dans unless peut être une comparaison (x == 0), un test de nullité, ou une vérification sur une collection. Toutes les expressions logiques valides avec if le sont aussi avec unless, à la seule différence qu'on évalue leur fausseté au lieu de leur vérité.
- Peut être combinée avec elsif ou else pour plus de logique : Bien que unless ne supporte pas directement elsif, on peut le combiner avec une structure if...else pour créer des alternatives logiques plus complexes. Cela permet de gérer des cas comme : « sauf si A, sinon si B, sinon C ».
- Limite les erreurs liées aux doubles négations : Utiliser unless permet d'éviter d'écrire des conditions comme {% if !condition %} ou {% if not condition %}, étant moins lisibles et parfois sources d'erreurs de logique, surtout dans des expressions imbriquées. unless rend ces situations plus claires.
- Utile pour afficher des messages conditionnels dans les portails : Lorsqu'on veut afficher une alerte ou une instruction uniquement si un champ n'a pas été rempli ou si une requête FetchXML ne retourne aucun résultat, unless permet d'encoder ce comportement de manière directe et lisible.
- Favorise des blocs compacts et expressifs : unless permet d'exprimer un cas d'exception en peu de lignes, ce qui rend le code Liquid plus succinct. Cela peut être particulièrement utile dans des composants partagés (fragments ou inclusions) où l'espace et la clarté sont importants pour la maintenance.
Dernière mise à jour : Mercredi, le 23 Juillet 2025