Voorwaardelijke logica-referentie voor template
Wat je leert
Kom meer te weten over alle beschikbare voorwaarden die je kunt gebruiken om een blok, sectie of een aangepaste code-inhoud alleen dynamisch weer te geven voor bepaalde ontvangers. Als je wilt leren hoe je deze voorwaarden in je templates gebruikt, ga dan naar ons artikel over hoe je templateblokken kunt weergeven of verbergen op basis van dynamische variabelen.
Leer hoe je voorwaardelijke logica gebruikt:
- Waar je voorwaarden kunt gebruiken
- Tips voor succes
- Voorwaardelijke instructies
- Stel complexe voorwaarden samen
Waar je voorwaarden kunt gebruiken
Je kunt voorwaarden gebruiken in:
- E-mails
- Maak show-/hide-logica om dynamisch blokken of secties alleen aan bepaalde mensen weer te geven.
- Als je liever geen code schrijft, gebruik dan in plaats daarvan de builder voor logica voor weergeven/verbergen.
- Schrijf if/else-voorwaarden om aangepaste Django-statements te maken.
- Maak show-/hide-logica om dynamisch blokken of secties alleen aan bepaalde mensen weer te geven.
- Customer Hub
- Schrijf if/else-voorwaarden om in contentblokken aangepaste Django-statements te maken
Tips voor succes
Wanneer je show/hide-voorwaarden opstelt, let dan goed op de details. Weergeef-/verbergvoorwaarden zijn hoofdlettergevoelig en de spelling moet exact overeenkomen met je profiel- of gebeurtenisgegevens.
Zorg er ook voor dat je rekening houdt met alle mogelijke kijkers. Als je bijvoorbeeld een specifiek blok alleen toont aan inwoners van een bepaalde staat, dek dan alle mogelijke spellingen van die staatsnaam af (bijv. Massachusetts, massachusetts, mass, MA). Houd ook rekening met profielen die de eigenschap misschien helemaal niet hebben ingesteld.
Zodra je het bericht hebt opgebouwd en je voorwaarden hebt toegepast, kun je een voorbeeld bekijken met verschillende profielen om te bevestigen dat het bericht in alle scenario’s wordt weergegeven zoals je bedoelde.
Voorwaardelijke instructies
Voorwaarden moeten 1-3 elementen bevatten, afhankelijk van je doel voor het blok en de data die je gebruikt. De voorwaarde moet minimaal een variabele bevatten (bijv. person|lookup:'Favorite Color'). Deze kan ook een vergelijkingsfunctie bevatten, zoals = (is gelijk aan) of > (is groter dan) en een waarde, die een eigenschapswaarde aangeeft waarnaar je zoekt. Daarnaast beginnen bepaalde voorwaarden met not, als je wilt dat het blok alleen verschijnt voor profielen die niet aan een voorwaarde voldoen.
De onderstaande grafiek bevat een volledige lijst met mogelijke structuren die een tonen/verbergen-voorwaarde kan volgen.
Voorbeeldvoorwaarde | Toon het blok als... | Acceptabele gegevenstypen |
person|lookup:'Favoriete kleur' | De eigenschap | Willekeurig |
niet persoon|lookup:'Favoriete kleur' | De eigenschap | Willekeurig |
person|lookup:'Favoriete kleur' == 'green' | De eigenschap | Tekst, nummer |
person|lookup:'Favoriete kleur' != 'green' | De eigenschap | Tekst, nummer |
person|lookup:'Age' > 20 | De eigenschap | Aantal |
person|lookup:'Age' >= 20 | De eigenschap | Aantal |
person|lookup:'Age' < 20 | De eigenschap | Aantal |
person|lookup:'Age' <= 20 | De eigenschap | Aantal |
'green' persoonlijk|lookup:'Favorite Colors' | De eigenschap De eigenschap | Lijst, tekst |
niet 'groen' persoonlijk|opzoeken:'Favoriete kleuren' | De eigenschap De eigenschap | Lijst, tekst |
Voorwaarden voor booleans
Als je verwijst naar data die is opgeslagen als een boolean, moet je 1 en 0 gebruiken in plaats van "true" en "false" in de definitie van je show/hide-voorwaarde. Zet de 1 of 0 niet tussen aanhalingstekens. Gebruik de onderstaande voorbeeldvoorwaarden als template.
Voorbeeldvoorwaarde | Toon het blok als... |
person|lookup:'VIP' == 1 | De eigenschap |
person|lookup:'VIP' == 0 | De eigenschap |
Voorwaarden voor booleans die als tekst zijn opgeslagen
Als je true/false-gegevens als tekst zijn opgeslagen, niet als een boolean, gebruik dan de voorbeeldvoorwaarden voor teksteigenschappen hierboven. Als je het niet zeker weet, of als je verwijst naar een eigenschap die zowel booleans als tekst bevat, kun je deze structuren gebruiken om alle scenario's te dekken. Neem alle spellingen en hoofdlettergebruik op die in je gegevens voorkomen.
Voorbeeldvoorwaarde | Toon het blok als... |
person|lookup:'VIP' == 1 or person|lookup:'VIP' == 'true' or person|lookup:'VIP' == 'True' | De eigenschap |
person|lookup:'VIP' == 0 or person|lookup:'VIP' == 'false' or person|lookup:'VIP' == 'False' | De eigenschap |
Stel complexe voorwaarden samen
Als je wilt dat je blok wordt weergegeven aan mensen die aan meerdere criteria voldoen, of als je een complexe use case hebt, kun je meerdere voorwaarden voor weergeven/verbergen gebruiken voor één blok. Om dit te doen, verbind je een reeks voorwaarden met AND of OR. Als je bijvoorbeeld een blok wilt weergeven aan iedereen in Massachusetts, maar Massachusetts op sommige profielen anders wordt gespeld, kun je een voorwaarde gebruiken zoals deze:
person.location.region == 'Massachusetts' or person.location.region == 'massachusetts' or person.location.region == 'mass' or person.location.region == 'MA'
Als je een blok alleen wilt tonen aan mensen van wie de favoriete kleur groen is en die ook VIP's zijn, kun je een voorwaarde zoals deze gebruiken:
person|lookup:'Favorite Color' == 'green' and person|lookup:'VIP'== 1
Voorwaardelijke instructies en de inline teksteditor
Wanneer je bepaalde voorwaardelijke instructies toevoegt aan een tekstblok, kunnen deze verdwijnen uit de inline teksteditor. De code is nog steeds aanwezig, maar deze is verborgen. Als je voorwaardelijke instructies wilt bekijken en bewerken, gebruik je de Django Tag Builder, of verplaats je de content naar een speciaal HTML-blok om de code rechtstreeks te bewerken.
De volgende tags verschijnen niet in de inline teksteditor, maar ze blijven in het tekstblok staan:
- {% for ... %}
- {% endfor %}
- {% if ... %}
- {% elif ... %}
- {% else %}
- {% endif %}
- {% with ... %}
- {% endwith %}