Référence à la logique conditionnelle pour les modèles
Objectif de cet article
Découvrez toutes les conditions disponibles que vous pouvez utiliser pour afficher dynamiquement un bloc, une section ou un contenu codé sur mesure uniquement à certains destinataires. Pour apprendre à utiliser ces conditions dans vos modèles, consultez notre article sur l’affichage ou le masquage de blocs de modèle en fonction de variables dynamiques.
Découvrez comment utiliser la logique conditionnelle :
- Où vous pouvez utiliser des conditions
- Conseils
- Structures de conditions
- Créer des conditions complexes
Où vous pouvez utiliser des conditions
Vous pouvez utiliser des conditions dans :
- E-mails
- Créez une logique d’affichage/masquage afin d’ afficher des blocs ou des sections uniquement à certaines personnes.
- Si vous préférez ne pas écrire de code, utilisez plutôt le générateur de logique d’affichage/masquage.
- Rédigez des conditions if/else pour créer des instructions Django personnalisées.
- Créez une logique d’affichage/masquage afin d’ afficher des blocs ou des sections uniquement à certaines personnes.
- Customer Hub
- Écrivez des conditionnels if/else pour créer des instructions Django personnalisées dans les blocs de contenu
Conseils
Lorsque vous configurez des conditions d’affichage/masquage, prêtez attention aux détails. Les conditions d’affichage/masquage sont sensibles à la casse, et l’orthographe doit correspondre exactement aux données de votre profil ou de votre événement.
De plus, veillez à prendre en compte tous les spectateurs possibles. Par exemple, si vous affichez un bloc spécifique uniquement aux résidents d’un certain État, couvrez toutes les orthographes possibles du nom de cet État (par ex., Massachusetts, massachusetts, mass, MA). Tenez également compte des profils qui n’ont peut-être pas du tout la propriété définie.
Une fois que vous avez créé le message et appliqué vos conditions, prévisualisez-le à l’aide de différents profils afin de confirmer que le message s’affiche comme prévu pour tous les scénarios.
Structures de conditions
Les conditions doivent inclure 1 à 3 éléments, selon votre objectif pour le bloc et les données que vous utilisez. La condition doit au moins inclure une variable (par ex., person|lookup:'Favorite Color'). Cela peut également inclure une fonction de comparaison, comme = (égal à) ou > (supérieur à) et une valeur, qui spécifie une valeur de propriété à rechercher. De plus, certaines conditions commencent par not, si vous souhaitez que le bloc n’apparaisse que pour les profils qui ne répondent pas à une condition.
Le graphique ci-dessous contient la liste complète des structures possibles qu’une condition d’affichage/masquage peut suivre.
Condition de l’échantillon | Montrez le bloc si… | Types de données acceptables |
person|lookup:'Couleur préférée' | La propriété | Tout |
not person|lookup:'Couleur préférée' | La propriété | Tout |
person|lookup:'Couleur préférée' == 'vert' | La propriété | Texte, nombre |
person|lookup:'Couleur préférée' != 'vert' | La propriété | Texte, nombre |
person|lookup:'Âge' > 20 | La propriété | Nombre |
person|lookup:'Âge' >= 20 | La propriété | Nombre |
person|lookup:'Age' < 20 | La propriété | Nombre |
person|lookup:'Age' <= 20 | La propriété | Nombre |
« vert » en personne|lookup:'Couleurs préférées' | La propriété La propriété | Liste, texte |
pas « vert » en personne|lookup:'Couleurs préférées' | La propriété La propriété | Liste, texte |
Conditions pour les booléens
Si vous faites référence à des données stockées sous forme de booléen, vous devrez utiliser 1 et 0 plutôt que « true » et « false » dans la définition de votre condition d’affichage/masquage. N’entourez pas le 1 ou le 0 de guillemets. Utilisez les exemples de conditions ci-dessous comme modèle.
Condition de l’échantillon | Montrez le bloc si… |
person|lookup:'VIP' == 1 | La propriété |
person|lookup:'VIP' == 0 | La propriété |
Conditions pour les valeurs booléennes enregistrées sous forme de texte
Si vos données vrai/faux se présentent sous forme de texte et non de valeur booléenne, utilisez les exemples de conditions pour les propriétés de texte ci-dessus. Si vous n’êtes pas sûr, ou si vous faites référence à une propriété qui contient à la fois des valeurs booléennes et du texte, vous pouvez utiliser ces structures pour couvrir tous les scénarios. Incluez toutes les orthographes et majuscules présentes dans vos données.
Condition de l’échantillon | Montrez le bloc si… |
person|lookup:'VIP' == 1 or person|lookup:'VIP' == 'true' or person|lookup:'VIP' == 'True' | La propriété |
person|lookup:'VIP' == 0 or person|lookup:'VIP' == 'false' or person|lookup:'VIP' == 'False' | La propriété |
Créer des conditions complexes
Si vous souhaitez que votre bloc s’affiche pour les personnes qui répondent à plusieurs critères, ou si vous avez un cas d’utilisation complexe, vous pouvez utiliser plusieurs conditions d’affichage/masquage pour un bloc. Pour ce faire, reliez une série de conditions avec AND ou OR. Par exemple, si vous souhaitez afficher un bloc à toute personne située dans le Massachusetts, mais que « Massachusetts » est orthographié différemment sur certains profils, vous pouvez utiliser une condition comme celle-ci :
person.location.region == 'Massachusetts' or person.location.region == 'massachusetts' or person.location.region == 'mass' or person.location.region == 'MA'
Si vous souhaitez uniquement afficher un bloc aux personnes dont la couleur préférée est le vert et qui sont également des VIP, vous pouvez utiliser une condition comme celle-ci :
person|lookup:'Favorite Color' == 'green' and person|lookup:'VIP'== 1
Les conditions et l’éditeur de texte en ligne
Lorsque vous ajoutez certaines conditions à un bloc de texte, elles peuvent disparaître de l’éditeur de texte en ligne. Le code est toujours présent, il est simplement caché. Pour afficher et modifier les instructions conditionnelles, utilisez le Django Tag Builder, ou déplacez le contenu vers un bloc HTML dédié pour modifier directement le code.
Les tags suivants n’apparaissent pas dans l’éditeur de texte intégré, mais ils restent dans le bloc de texte :
- {% for ... %}
- {% endfor %}
- {% if ... %}
- {% elif ... %}
- {% else %}
- {% endif %}
- {% with ... %}
- {% endwith %}