Modifica della formattazione dei segnaposto con i filtri

In questo articolo, spiegheremo come usare il linguaggio per modelli Sendinblue per modificare i segnaposto nelle tue email usando i filtri.

Cosa sono i filtri?

I filtri cambiano il risultato generato da un segnaposto. Vengono inseriti all'interno di doppie parentesi graffe {{ }} separati da una barra verticale |, ad esempio {{ contact.NAME|upper }}. È possibile concatenare più filtri e il risultato generato da un filtro viene applicato al successivo

Per aggiungere un filtro a un segnaposto in una campagna email o in un modello, devi aggiungerlo manualmente. Nell'editor drag & drop (nuova versione), devi anche scrivere il segnaposto manualmente, poiché non puoi aggiungere un filtro a un segnaposto aggiunto usando l'opzione Personalizzazione.

Inserimento di un valore predefinito

default

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

Immissione Risultato
Buongiorno {{ contact.NAME|default:'a te' }}, Buongiorno a te,

Formato Maiuscolo/minuscolo

capfirst

Rende maiuscolo il primo carattere di una variabile e converte i caratteri rimanenti in minuscolo.

Immissione Risultato
{{ contact.MESSAGE|capfirst }} La mia macchina rossa

title

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

Immissione Risultato
{{ contact.NAME|title }} John Doe

upper

Rende maiuscolo ogni carattere di una variabile.

Immissione Risultato
{{ contact.NAME|upper }} JOHN DOE

lower

Rende minuscolo ogni carattere di una variabile.

Immissione Risultato
{{ contact.NAME|lower }} john doe

truncatechars

Accorcia una variabile se è più lunga del numero di caratteri specificato. Le variabili troncate termineranno con un'ellissi (...) inclusa nel conteggio dei caratteri.

Immissione Risultato
{{ 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".

Immissione Risultato
{{ contact.BALANCE|floatformat:2 }} 40.32
{{ contact.BALANCE|floatformat:0 }} 40

lang_format

Formatta i numeri in base alla lingua del destinatario.

Immissione Risultato
{{ 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

Nota:

  • Per forzare 2 decimali, aggiungi ,%.2f dopo la variabile della lingua.
  • Per il francese, il separatore delle migliaia è uno spazio unificatore.

Formato di data e ora

💡 Buono a sapersi
- Le abbreviazioni e i nomi per esteso di giorni e mesi sono supportati solo in inglese.
- L'ora di riferimento è "Monday January 2 15:04:05 -0700 MST 2006".
- Se non viene passato un valore, sarà considerato come pari a 0.
- Il fuso orario predefinito (se non passato) è UTC.
- È possibile 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 l'alternativa numerica, +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.

Immissione Risultato
{{ params.my_date|time_parse:"Monday 02 January 2006" }} Tuesday 11 March 2021

Nota: se la stringa è formattata usando RFC3339, puoi usare 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 la data filtro al segnaposto time_now.

Immissione Risultato
{{ "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" }} Stamperà 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

time_add_date

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

Immissione Risultato
{{ 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 data in base al fuso orario passato al filtro. È obbligatorio passare un timbro data/ora al filtro con il seguente formato: "posizione/fuso orario”.

Immissione Risultato
{{ 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 una durata di tempo a un timbro data/ora o a una stringa data. È obbligatorio passare almeno un valore (ora, minuto o secondo) nel filtro.

Immissione Risultato
{{ 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.

Immissione Risultato
{{ 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.

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

Altri filtri

first

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

Immissione Richiesta API Risultato
{{ 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 è una variabile vuota per impostazione predefinita. Puoi definirlo con il primo parametro facoltativo.

Immissione Risultato
{{ [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.

Immissione Risultato
{{ [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.

Immissione Risultato
{{ ['a', 'b', 'c', 'd']|length }} 4

safe

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

Immissione

Richiesta API Risultato
{{ params.htmltest|safe }} "params" :{HtmlTest: "<p>This is my test sentence.</p>"} This is my test sentence

Nota: Senza il filtro safe, il tag HTML verrebbe visualizzato come una normale stringa nell'email del destinatario: <p>This is my test sentence</p>.

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"...].

 

Immissione Risultato

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"]

base64_encode or decode

Codifica o decodifica la base 64:

  • base64_decode decodifica una stringa in []byte
  • base64_encode codifica []byte in una stringa
Immissione Risultato
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, + e / sono sostituiti rispettivamente da - e _,
  • raw_url: una combinazione di raw e url, ad es. {{ contact.FIRSTNAME|base64_encode:"raw_url"}}.

Risorse aggiuntive

Il linguaggio per modelli Sendinblue è 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 vorresti ma che non è ancora supportato, contatta il nostro team di assistenza clienti creando un ticket dal tuo account. Se ancora non hai un account, puoi contattarci qui.

⏭️ E adesso?

🤔 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 contattarcihere.