Con TWIG puoi costruire dinamicamente i contenuti nei temi di Aivie, formattare valori, eseguire calcoli e utilizzare condizioni. TWIG viene utilizzato in particolare nei file template per e-mail, landing page, moduli e messaggi di sistema.
Come funziona un filtro TWIG?
Un filtro viene aggiunto a un valore con una barra verticale:
{{ value|filter }}
Per esempio:
{{ firstname|default('Guten Tag') }}
{{ title|upper }}
È possibile combinare più filtri tra loro:
{{ title|trim|upper }}
Modificare il testo
Per i testi sono disponibili, tra gli altri, i seguenti filtri:
| Filtro | Utilizzo |
|---|---|
upper | Convertire il testo in maiuscolo |
lower | Convertire il testo in minuscolo |
title | Iniziare le parole con la lettera maiuscola |
capitalize | Scrivere la prima lettera in maiuscolo |
trim | Rimuovere gli spazi all’inizio e alla fine |
replace | Sostituire il testo |
striptags | Rimuovere i tag HTML |
nl2br | Convertire le interruzioni di riga in HTML |
length | Determinare il numero di caratteri o elementi |
default | Utilizzare un valore sostitutivo se non è presente alcun valore |
Esempio:
{{ company|default('deinem Unternehmen')|trim }}
Formattare i numeri ed eseguire calcoli
Twig supporta i normali operatori aritmetici:
{{ a + b }}
{{ a - b }}
{{ a * b }}
{{ a / b }}
{{ a // b }}
{{ a % b }}
{{ a ** b }}
Inoltre, sono utili i seguenti filtri e funzioni:
| Filtro o funzione | Utilizzo |
|---|---|
int | Convertire un valore in un numero intero |
abs | Determinare il valore assoluto |
round | Arrotondare un numero |
number_format | Formattare un numero per l’output |
min() | Determinare il valore minimo |
max() | Determinare il valore massimo |
Esempio con il formato numerico svizzero:
{{ (price|int * quantity|int)|number_format(2, '.', "'") }}
Puoi arrotondare un numero in questo modo:
{{ value|round(2) }}
{{ value|round(0, 'ceil') }}
{{ value|round(0, 'floor') }}
Utilizzare i valori di data
Con date e date_modify puoi formattare o modificare i valori di data:
{{ "now"|date("d.m.Y") }}
{{ dateValue|date("d.m.Y") }}
{{ dateValue|date_modify("+30 days")|date("d.m.Y") }}
Elaborare liste e array
Per le liste sono disponibili, tra gli altri, questi filtri:
| Filtro | Utilizzo |
|---|---|
first | Visualizzare il primo elemento |
last | Visualizzare l’ultimo elemento |
join | Unire gli elementi in un testo |
split | Dividere un testo in elementi |
keys | Visualizzare le chiavi di un array |
merge | Unire liste o array |
slice | Utilizzare un estratto |
sort | Ordinare gli elementi |
reverse | Invertire l’ordine |
batch | Dividere gli elementi in gruppi |
Esempio:
{{ tags|join(', ') }}
Utilizzare condizioni e cicli
Con le condizioni puoi visualizzare i contenuti a seconda di un valore:
{% if points|int >= 100 %}
Du hast mindestens 100 Punkte erreicht.
{% else %}
Dir fehlen noch einige Punkte.
{% endif %}
Puoi visualizzare le liste con un ciclo:
{% for item in items %}
{{ item }}
{% endfor %}
Anche una somma può essere calcolata in modo sicuro con un ciclo:
{% set total = 0 %}
{% for value in values %}
{% set total = total + (value|int) %}
{% endfor %}
{{ total|number_format(2, '.', "'") }}
Alcune funzioni sono bloccate per motivi di sicurezza
Alcuni filtri possono accettare funzioni eseguibili come argomento. Aivie li blocca quindi per evitare l’esecuzione di codice di programma non autorizzato. Per esempio:
mapfilterreduce
Sono bloccate anche le funzioni che potrebbero accedere alla configurazione di sistema, al database, ai file o alle funzioni interne di PHP.
Se hai bisogno di un calcolo specifico o di una conversione di dati che non è realizzabile con le opzioni disponibili, contattaci. Verificheremo se è possibile aggiungere un filtro sicuro e chiaramente limitato a tale scopo.
Importante: non tutti i campi di testo nell’editor di Aivie elaborano TWIG. Per la normale personalizzazione delle e-mail, continua a utilizzare i token di Aivie o Mautic disponibili.
In breve
Aivie supporta le consuete funzioni TWIG per testi, numeri, date, liste, condizioni e cicli. Le funzioni pericolose e i filtri con callback liberamente eseguibili sono bloccati nei temi caricati per motivi di sicurezza.
Ulteriori informazioni sono disponibili sul sito web di TWIG.
