DoConure

Parti condizionali

Quattro parole — if, elseif, else, endif — e dove metti il tag decide quanto scompare.

{% if invoice.total > 1000 %}
  …questo blocco…
{% elseif invoice.total > 500 %}
  …oppure questo…
{% else %}
  …altrimenti questo…
{% endif %}
Dove si trova il tagChe cosa scompare
Da solo in un paragrafo L'intero blocco fra il tag e il suo endif. Dove c'erano i tag non resta una riga vuota.
Da solo in una cella di tabella L'intera riga. Metti il tag di apertura in una riga e quello di chiusura in un'altra, con in mezzo le righe da nascondere.
Dentro una frase Solo quelle parole: Dear {% if vip %}valued {% endif %}customer.

Non servono più i prefissi tr e p. Funzionano ancora se li usi già — un tag a cui hai messo il prefisso a mano resta esattamente come l'hai scritto — ma un semplice {% if %} da solo in una cella nasconde già la riga.

Che cosa può dire una condizione

ScriviVera quando
invoice.total > 1000 un numero è maggiore. Anche <, >=, <=
customer.country = 'IT' i valori coincidono. Maiuscole e minuscole sono ignorate, e '10' è uguale a 10 — la stessa tolleranza dell'unione dei campi
invoice.total != invoice.paid due tuoi campi sono diversi
order.status in ['shipped', 'delivered'] il valore è uno di una lista
exists customer.vat il campo è stato inviato
empty notes il campo manca, è vuoto, è zero o è una lista vuota
a and b · a or b · not a combinate, con le parentesi dove servono

Un campo mai inviato rende una condizione falsa invece di far fallire il documento. Lo stesso vale per 0, null, una stringa vuota e una lista vuota — ed è su questo che si basa {% if discount %}.

Una sezione nascosta dice perché. Quando una condizione risulta falsa, la generazione registra il motivo con il valore che ha visto — invoice.total (800) > 1000 is false — e lo mostra nella pagina del documento nella console. Di solito è tutta l'indagine.

Le condizioni fuori dall'elenco qui sopra sono comunque accettate e passate al motore dei modelli così come sono scritte; semplicemente non possono produrre quella frase.