Modifica dell'output di una variabile con i filtri

Le variabili, note anche come tag di personalizzazione o merge tag, ti consentono di inserire dati personalizzati per ogni destinatario, ad esempio il nome o l'acquisto più recente. I filtri ti consentono di controllare come vengono visualizzati questi dati modificandone il formato o il contenuto.

Cosa sono i filtri?

I filtri modificano l'output di una variabile. Vengono utilizzati all'interno di parentesi graffe doppie {{ }} e sono separati dalla variabile da una barra verticale |. Ad esempio, {{ contact.FIRSTNAME|upper }} visualizzerà il nome del contatto in maiuscolo.

Puoi anche concatenare più filtri insieme, il che significa che l'output di un filtro viene passato al successivo.

Per utilizzare un filtro in una campagna email o in un modello di email, devi aggiungerlo manualmente alla variabile. Ciò significa che devi scrivere da solo l'intera variabile.

Nell'editor drag & drop, la variabile apparirà quindi come un tag, senza il filtro.

email_filters_example.gif
💡 Buono a sapersi
Non puoi applicare un filtro a una variabile aggiunta tramite il menu Add variable (Aggiungi variabile). Per utilizzare i filtri, digita la variabile manualmente.

💬 Inserimento di un valore predefinito

default

Inserisce un valore di riserva predefinito per i casi in cui il valore della variabile è vuoto.

Ingresso Uscita
Buongiorno {{ contact.FIRSTNAME|default:'there' }}, Buongiorno a te,

🔠 Formato Maiuscolo/minuscolo

capfirst

Rende maiuscolo il primo carattere del valore di una variabile.

Ingresso Uscita
{{ contact.MESSAGE|capfirst }} La mia macchina rossa

title

Restituisce una versione del valore di una variabile con tutte le iniziali maiuscole. Le parole inizieranno con lettere maiuscole, tutti gli altri caratteri saranno minuscoli.

Ingresso Uscita
{{ contact.NAME|title }} John Doe

upper

Rende maiuscolo ogni carattere del valore di una variabile.

Ingresso Uscita
{{ contact.NAME|upper }} JOHN DOE

lower

Rende minuscolo ogni carattere del valore di una variabile.

Ingresso Uscita
{{ contact.NAME|lower }} john doe

truncatechars

Accorcia il valore di una variabile se è più lungo del numero di caratteri specificato. I valori troncati termineranno con i puntini di sospensione (…) inclusi nel conteggio dei caratteri.

Ingresso Uscita
{{ contact.MANAGER|truncatechars:7 }} Elisab…

🔢 Formato dei numeri

floatformat

Arrotonda il risultato dei valori in virgola mobile della variabile alla posizione decimale specificata.

Per funzionare correttamente, i valori passati devono essere passati come numero, anziché come stringa, e non devono essere passati tra virgolette come "valore".

Ingresso Uscita
{{ params.total|floatformat:2 }} 40.32
{{ params.total|floatformat:0 }} 40

integer

Converte un numero in formato stringa o in virgola mobile in un numero intero.

Ingresso Uscita
{{ 10.578|integer }} 10
{{ "16.765"|integer }} 16

float

Converte un numero in formato stringa o intero in un numero in virgola mobile.

Ingresso Uscita
{{ 10|float }} 10.000000
{{ "16.765"|float }} 16.765000

lang_format

Formatta i numeri in base alla lingua del destinatario.

Ingresso Uscita
{{ params.number|lang_format:"fr" }} 123 456,789
{{ params.number|lang_format:"en" }} 123,456.789
{{ params.number|lang_format:"hi" }} 1,23,456.789
{{ params.number|lang_format:"bn" }} ১,২৩,৪৫৬.৭৮৯
{{ params.number|lang_format:"fr,%.2f" }} 123 456,79
💡 Buono a sapersi
  • Per forzare 2 cifre decimali, aggiungi ,%.2f dopo il filtro della lingua.
  • Per il francese, il separatore delle migliaia è uno spazio unificatore.

📅 Formato di data e ora

❗️ Importante
  • Le abbreviazioni e i nomi completi dei giorni e dei mesi sono supportati solo in inglese.
  • L'ora di riferimento è "Monday January 2 15:04:05 -0700 MST 2006" (lunedì 2 gennaio 15:04:05 -0700 MST 2006).
  • Se un valore non viene passato, è considerato 0.
  • Il fuso orario predefinito (se non viene passato) è UTC.
  • Puoi usare le parole chiave am/pm.
  • I modi più comuni per definire il fuso orario sono le parole chiave dedicate (MST, CET, UTC, Asia/Kolkata, ecc.) o numeriche, +0100 o -0100, rispetto a UTC.

time_parse

Converte il formato della data (passato come stringa) in un formato di data standard che può essere usato con altri filtri.

Per passare il formato di data corrente come argomento, formatta la data/ora esatta di come verrebbe visualizzata l'ora di riferimento se fosse il valore.

Ingresso Uscita
{{ params.MY_DATE|time_parse:"Monday 02 January 2006" }} Tuesday 11 March 2021
💡 Buono a sapersi

Se la stringa è formattata con RFC3339, puoi utilizzare il parser dedicato time_parse_rfc3339 senza argomento.

date

Converte una data in un formato specificato.

Otterrai una data da una stringa utilizzando il filtro time_parse o l'ora corrente passando il filtro date alla variabile time_now.

Ingresso Uscita
{{ "14:01 01/06/2018"|time_parse:"15:04 02/01/2006"|date:"Mon Jan 2 15:04:05 2006" }} Fri Jun 1 14:01:00 2018
{{ time_now|date:"Monday, Jan 2, 2006" }} tamperà il giorno e la data correnti nel formato specificato
{{ time_now|date:"02/01/2006" }} tamperà il giorno e la data correnti nel formato specificato
{{ time_now|date:"01" }}

 Stamperà il mese corrente

{{ time_now|date:"02" }}

 Stamperà il giorno corrente

{{ time_now|date:"2006" }}

Stamperà l'anno corrente

date_i18n

Converte una data in un formato specificato, ma l'output sarà in altre lingue.

Attualmente le lingue supportate sono en, fr, it, es, de e pt. Questo filtro è simile al filtro "date" e l'unica differenza è che deve prima essere specificata la lingua nel filtro e poi il formato.

Ingresso Uscita
{{ "14:01 01/06/2018" | time_parse:"15:04 02/01/2006"|date_i18n:"en,Monday" }} Friday
{{ "14:01 01/06/2018" | time_parse:"15:04 02/01/2006"|date_i18n:"de,Monday" }} Freitag

time_add_date

Aggiunge un numero di giorni a un timbro data/ora o a una stringa di data. È obbligatorio passare tutti i valori a questo filtro nel seguente ordine: "anno, mese, giorno".

Ingresso Uscita
{{ time_now|time_add_date:"1,2,3" }} Stamperà il timbro data/ora dopo aver aggiunto 1 anno, 2 mesi e 3 giorni al timbro data/ora corrente
{{ "14:01 01/06/2018"|time_parse:"15:04 02/01/2006"|time_add_date: "1,2,3" }} 2019-08-04 14:01:00 +0000 UTC

time_in_location

Converte un timbro data/ora o una stringa di data in base al fuso orario passato al filtro. È obbligatorio passare un fuso orario al filtro nel seguente formato: "posizione/fuso orario".

Ingresso Uscita
{{ time_now|time_in_location:"Europe/Berlin" }} Stamperà il timbro data/ora corrente in CEST
{{ "14:01 01/06/2018"|time_parse:"15:04 02/01/2006"|time_in_location: "Europe/Berlin" }} 2018-06-01 16:01:00 +0200 CEST

time_add_duration

Aggiunge la durata a un timbro data/ora o a una stringa di data. È obbligatorio passare almeno un valore (ora, minuto o secondo) nel filtro.

Ingresso Uscita
{{ time_now|time_add_duration:"1h2m3s" }} Stamperà il timbro data/ora dopo aver aggiunto 1 ora, 2 minuti e 3 secondi al valore di tempo nel timbro data/ora corrente
{{ time_now|time_add_duration:"30m" }} Stamperà il timbro data/ora dopo aver aggiunto 30 minuti al valore di tempo

time_unix

Converte un valore di tempo nel timbro data/ora Unix in secondi.

Ingresso Uscita
{{ time_now|time_unix }} Stamperà il timbro data/ora Unix corrente in secondi

time_unix_nano

Converte un valore di tempo nel timbro data/ora Unix in nanosecondi.

Ingresso Uscita
{{ time_now|time_unix_nano }} Stamperà il timbro data/ora Unix corrente in nanosecondi

🧑‍💻 Codifica o cifratura dei dati

base64_encode o decode

Codifica o decodifica la base 64:

  • base64_decode decodifica una stringa in []byte
  • base64_encode codifica []byte in una stringa
Ingresso Uscita
https://example.com/test?name={{ contact.FIRSTNAME|base64_encode }} https://example.com/test?name=RW56bw== (invece di https://example.com/test?name=Enzo)

I filtri base64_encode e decode possono accettare un parametro di codifica facoltativo:

  • std: normale codifica base64,
  • raw_std: normale codifica base64, senza il carattere di riempimento =,
  • url: versione protetta della codifica base64 per gli URL, / sono sostituiti rispettivamente da - e _,
  • raw_url: una combinazione di raw e url.

aes_128, 192 o 256

Crittografa un valore. Ad esempio, è possibile utilizzare questo filtro per inviare informazioni di contatto crittografate in un URL, ad esempio un indirizzo di posta elettronica o un ID.

La variante AES utilizzata dipende dalla lunghezza della chiave fornita:

Lunghezza della chiave segreta Variante AES
16 byte (128 bit) AES-128
24 byte (192 bit) AES-192
32 byte (256 bit) AES-256

Ad esempio, per la variante AES-256, la variabile deve avere il formato {{ contact.ATTRIBUTE | aes_256:"key" }}, dove la chiave:

  • Deve essere costituita da 32 cifre.
  • Deve essere generata in modo casuale.
  • Deve continuare a persistere sul tuo lato affinché sia possibile decrittografare il valore originale.

Per impostazione predefinita, se non viene aggiunto alcun parametro di codifica, verrà utilizzato base64 std. In caso contrario, supporta anche:

  • raw_std: normale codifica base64, senza il carattere di riempimento =,
  • url: versione protetta della codifica base64 per gli URL, / sono sostituiti rispettivamente da - e _,
  • raw_url: una combinazione di raw e url.
💡 Buono a sapersi

Nei nostri esempi seguenti, stiamo crittografando gli indirizzi email dei nostri contatti utilizzando la seguente chiave: e5a34a481274c776856d04119bed8188. Nota che non devi usare la stessa chiave e invece generare la tua chiave seguendo le indicazioni fornite più sopra.

Codifica Ingresso Uscita

Nessuna codifica (codifica base64 std per impostazione predefinita)

{{ contact.EMAIL | aes_256:
"e5a34a481274c776856d04119bed8188" }}
Stamperà una stringa casuale che deve essere decrittografata per poter leggere il valore originale

Codifica base64 raw_std

{{ contact.EMAIL | aes_256:
"e5a34a481274c776856d04119bed8188,
raw_std" }}
Stamperà una stringa casuale che deve essere decrittografata per poter leggere il valore originale

Codifica base64 url

{{ contact.EMAIL | aes_256:
"e5a34a481274c776856d04119bed8188,
url" }}
Stamperà una stringa casuale che deve essere decrittografata per poter leggere il valore originale

Codifica base64 raw_url

{{ contact.EMAIL | aes_256:
"e5a34a481274c776856d04119bed8188,
raw_url" }}
Stamperà una stringa casuale che deve essere decrittografata per poter leggere il valore originale

🔎 Altri filtri

first

Restituisce il primo elemento di una sequenza, un abbinamento o una stringa.

Ingresso Richiesta API Uscita
{{ params.array|first }} "params" :
{
"array" : [ 1,2,3,4 ]
}
1

join

Combina gli elementi di una matrice in una singola stringa usando l'argomento come separatore.

Il separatore tra gli elementi è vuoto per impostazione predefinita. Puoi definirlo con il primo parametro opzionale.

Ingresso Uscita
{{ [1, 2, 3]|join }} 123
{{ [1, 2, 3]|join: '|' }} 1|2|3

last

Restituisce l'ultimo elemento di una sequenza, un abbinamento o una stringa.

Ingresso Uscita
{{ [1, 2, 3, 4]|last }} 4

length

Restituisce il numero di elementi di una sequenza o di un abbinamento, o la lunghezza di una stringa.

Ingresso Uscita
{{ ['a', 'b', 'c', 'd']|length }} 4

safe

Contrassegna una stringa come elemento che non necessita di ulteriore escape HTML prima dell'output.

A

Richiesta API

Ingresso Uscita
"params" :{HtmlTest: "<p>This is my test sentence.</p>"} {{ params.htmltest|safe }} This is my test sentence

B

Attributo di contatto

Segnaposto

Ingresso Uscita
EMAIL_SALUTATION Welcome to <b>Brevo</b>, we're glad to have you here {{ contact.EMAIL_SALUTATION
|safe }}
Welcome to Brevo, we're glad to have you here

Senza il filtro safe, il tag HTML verrebbe visualizzato come una normale stringa nell'email del destinatario: "<p>This is my test sentence</p>" o "Welcome to <b>Brevo</b>, we're glad to have you here".

slice

Estrae una parte di una sequenza, un abbinamento o una stringa.

Questo filtro può essere configurato per:

A Passare a ciclo continuo solo i primi "n" elementi di una matrice. In entrambi i casi, ricorda che agli elementi di una matrice viene assegnato un numero di posizione unico con "0" come prima posizione (sono "indicizzati a zero").
B Passare a ciclo continuo gli elementi compresi fra due posizioni specificate ("n" e "m") della matrice.
C Passare a ciclo continuo gli elementi compresi fra due elementi specificati di una matrice.  

Per ogni esempio, tieni presente che la matrice contiene quanto segue: ["a","b","c","d","e","f","g","h"...].

 

Ingresso Uscita

A

{% for product in params.products|slice:':5' %}
{{ product.name }} - {{ product.price }}
{% endfor %}
Passerà a ciclo continuo le prime 5 posizioni (0-4), che sono: ["a","b","c","d","e"]
B {% for product in params.products|slice:'2:3' %}
{{ product.name }} - {{ product.price }}
{% endfor %}
Passerà a ciclo continuo le posizioni (2-3), che sono: ["c","d"]
C {% for product in params.products|slice:'b:d' %}
{{ product.name }} - {{ product.price }}
{% endfor %}
Passerà a ciclo continuo gli elementi specificati, che sono: ["b","c","d"]

verbatim

In Brevo, le variabili vengono scritte utilizzando doppie parentesi graffe come {{ params.property }}. Quando includi le doppie parentesi graffe come {{ this }} nella tua email, Brevo le considera come un elemento del modello.

Per visualizzare {{ }} come testo normale nella tua email, racchiudi il contenuto in un blocco {% verbatim %}:

Ingresso Uscita
{% verbatim %}
{{ Print variable }}
{% endverbatim %}
{{ Print variable }}

autoescape

Per impostazione predefinita, Brevo esegue l'escape di tutto il contenuto della variabile, inclusi HTML e JavaScript. Ciò significa che se la tua variabile contiene codice HTML (ad esempio, <h1>Il mio titolo</h1>), verrà visualizzata come testo normale anziché come HTML.

Per consentire il rendering HTML, devi disabilitare l'autoescape utilizzando il tag {% autoescape off %}. Racchiudi la variabile in questo blocco e chiudilo con {% endautoescape %}:

{% autoescape off %}{{ params.my_html }}{% endautoescape %}

  Ingresso Uscita
Senza il tag autoescape {{ params.my_html }} <h1>Il mio titolo</h1>
Con il tag autoescape

{% autoescape off %}
{{ params.my_html }}
{% endautoescape %}

Il mio titolo

📖 Risorse aggiuntive

Il linguaggio per modelli Brevo è basato su Pongo2, che è una reimplementazione di Django in Go (un linguaggio di programmazione).

Tutti i tag supportati

autoescape, comment, cycle, filter, firstof, for, if, ifchanged, now, set, spaceless, templatetag, with.

Tutti i filtri supportati

escape, safe, escapejs, add, addslashes, capfirst, center, cut, date, default, default_if_none, divisibleby, first, floatformat, get_digit, iriencode, join, last, length, length_is, linebreaks, linebreaksbr, linenumbers, ljust, lower, make_list, phone2numeric, pluralize, random, removetags, rjust, slice, stringformat, striptags, time, title, truncatechars, truncatechars_html, truncatewords, truncatewords_html, upper, urlencode, urlize, urlizetrunc, wordcount, wordwrap, yesno.

Tutti i filtri supportati per gli algoritmi hash

hash_md5, hash_sha256, hash_sha256_224, hash_sha512, hash_sha512_224, hash_sha512_256, hash_sha512_384, hash_sha3_224, hash_sha3_256, hash_sha3_384, hash_sha3_512.

💡 Buono a sapersi
Se identifichi un filtro che non è ancora supportato, contatta il nostro team di assistenza creando un ticket dal tuo account. Se non hai ancora un account, puoi contattarci qui.

🤔 Domande?

In caso di domande, non esitare a contattare il team dell’assistenza creando un ticket dal tuo account. Se ancora non hai un account, puoi contattarci qui.

Se stai cercando aiuto per un progetto che prevede l'utilizzo di Brevo, possiamo metterti in contatto con l'agenzia partner di Brevo giusta per te.

💬 Questo articolo ti è stato utile?

Utenti che ritengono sia utile: 15 su 43