Met een voorwaarde laat je een tekst in een template alleen zien als iets waar is, bijvoorbeeld "Geachte heer" of "Geachte mevrouw", of een tekst over inpakken alleen als de klant inpakken heeft gekozen.
Voor wie: beheerders
Een voorwaarde begint met {% if … %} en eindigt met {% endif %}. Alles daartussen toont Bas alleen als de voorwaarde klopt.
Let op: een fout in een voorwaarde maakt de hele template kapot. Kijk na elke wijziging in het Voorbeeld of de PDF nog wordt gemaakt.
Zo schrijf je "Geachte heer De Vries" of "Geachte mevrouw De Vries", afhankelijk van de aanhef van de contactpersoon:
Geachte {% if customer.primaryContactPerson.salutation in ['heer', 'Dhr.'] %}heer{% elseif customer.primaryContactPerson.salutation in ['mevrouw', 'Mevr.'] %}mevrouw{% else %}heer, mevrouw{% endif %} {{ customer.primaryContactPerson.lastName }},De aanhef heet in Bas heer of Dhr. voor een man, en mevrouw of Mevr. voor een vrouw. Daarom staan ze allebei in de voorwaarde. Andere waarden zijn de heer en mevrouw, familie, Fam., Mr, Ms en family. Bij die waarden, en als de aanhef niet is ingevuld, schrijft Bas in dit voorbeeld "Geachte heer, mevrouw".
Bij een verhuizing kun je een tekst laten zien als de klant een dienst heeft gekozen. Gebruik daarvoor project.usesService('…') met de naam van de dienst:
| Dienst | Naam |
|---|---|
| Inpakken | packing |
| Uitpakken | unpack |
| Demonteren | disassemble |
| Monteren | assemble |
| Opslag | storage |
Een tekst die alleen verschijnt als de klant inpakken heeft gekozen:
{% if project.usesService('packing') %}Wij pakken uw spullen voor u in.{% endif %}Een tekst die verschijnt als de klant inpakken níet heeft gekozen:
{% if not project.usesService('packing') %}U pakt zelf uw spullen in. Wij leveren de dozen.{% endif %}Twee voorwaarden tegelijk combineer je met and:
{% if project.usesService('assemble') and project.usesService('disassemble') %}Wij demonteren en monteren uw meubels.{% endif %}Dit werkt alleen bij een verhuizing. Bij een transport of een verhuisliftklus klopt een voorwaarde met usesService nooit, en een voorwaarde met not usesService dus altijd.
{% if project.projectType == 'moving-job' %}Deze tekst ziet alleen een verhuisklant.{% endif %}Voor een transport gebruik je 'transport-job', voor een verhuisliftklus 'moving-lift-job'.
Een voorwaarde die niet klopt, laat de regels eromheen staan. Zet {% endif %} daarom direct achter de laatste punt van je tekst, niet op een nieuwe regel. Dan blijft er geen lege regel over in de PDF.
Goed:
{% if project.usesService('packing') %}
Wij pakken uw spullen voor u in.{% endif %}{% endif %}. Elke {% if %} heeft een eigen {% endif %} nodig.'heer', niet ‘heer’. Typ de code liever zelf dan hem uit een tekstverwerker te plakken.{% … %}. Open het blok als HTML en controleer of de code aan één stuk staat.