Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzo degli helper modello di messaggio
Con i modelli Pinpoint, i clienti possono creare modelli di messaggi riutilizzabili basati sul linguaggio Handlebars.js. Gli helper offrono una varietà di funzionalità come la formattazione di un prezzo nella valuta di una regione specifica o l'aggiunta di una località in base al fuso orario. Un helper può utilizzare una stringa o un numero intero specifico per il valore o una variabile di messaggio Amazon Pinpoint specifica.
Di seguito sono elencate le categorie di helper, descritte nelle sezioni seguenti.
Questa sezione descrive gli helper integrati forniti da Handlebars. Per l'elenco completo, consulta la sezione relativa agli helper integrati
-
each
: itera un elenco.Nota
La dimensione massima dell'elenco è di 15 elementi.
-
if
: valuta un'istruzione.
- each
-
Itera un elenco. Questo helper utilizza solo un blocco di istruzioni. Facoltativamente puoi:
-
Passare
@index
nella richiesta per fare riferimento all'indice del loop corrente. -
Usare l'helper
this
per fare riferimento all'elemento iterato corrente. -
Restituire la risposta dell'helper in un elenco mediante il tag
<li>
.
Utilizzo
{{#each
value
}}Il valore alla posizione
{{@index}}
è{{this}}
.{{else}}
La condizione è false.
{{/each}}
each
deve essere preceduto dal simbolo di sterlina (#
) e seguito dal simbolo di chiusura{{/each}}
nel blocco di istruzioni.Esempio
In questo esempio,
each
viene utilizzato per restituire l'elenco dei colori preferiti di un utente. Perfalse
, viene restituita un'istruzioneelse
. Se la richiesta è simile alla seguente:{{#each User.UserAttributes.FavoriteColors}}
<li>{{this}}</li>
{{else}}
Non hai colori preferiti.
Valori restituiti da
{{/each}}
-
r
ed -
blu
-
giallo
per un'istruzione true.
-
- if
-
Valuta se un'istruzione è vera (true) e restituisce una risposta basata sulla valutazione.
Utilizzo
{{#if
value
}}Il valore non è indefinito
{{else}}
Il valore è indefinito
{{/if}}
if
deve essere preceduto dal simbolo di sterlina (#
) e seguito dal simbolo di chiusura{{/if}}
nel blocco di istruzioni.Esempio
In questo esempio, l'helper
if
viene utilizzato per valutare se si tratta del nome di un utente. Se viene trovato il nome, viene restituito un messaggio di saluto che riporta il nome dell'utente nella risposta. In caso contrario, l'istruzioneelse
restituisce un saluto alternativo.{{#if User.UserAttributes.FirstName.[0]}}
Hello
{{User.UserAttributes.FirstName.[0]}},
{{else}}
Salve,
{{/if}}
restituisce
Salve, Jane
se l'helperif
è true.
Questa sezione descrive gli helper condizionali.
Gli helper condizionali possono essere usati su un'unica riga o in un blocco di istruzioni. È possibile personalizzare la risposta indipendentemente dal metodo helper utilizzato. È possibile passare helper condizionali aggiuntivi sia all'interno di istruzioni a riga singola che a blocchi di istruzioni. I seguenti helper condizionali mostrano l'utilizzo prima per una singola riga e poi per un blocco di istruzioni utilizzando una clausola else
facoltativa. Di seguito sono descritti gli helper condizionali:
-
and
: confronta se tutti gli elementi passati sono uguali. -
eq
: verifica se due elementi sono uguali. -
gt
: verifica se un elemento è maggiore di un altro. -
gte
: verifica se un elemento è maggiore o uguale a un altro. -
if
: valuta se un elemento è vero. -
lt
: verifica se un elemento è inferiore a un altro. -
lte
: verifica se un elemento è minore o uguale a un altro. -
neq
: valuta se due elementi non sono uguali. -
not
: inverte la risposta di un'operazione booleana. -
or
: confronta se alcuni degli elementi dell'argomento sono uguali.
- e
-
Confronta se tutti gli elementi passati in un argomento sono uguali e quindi restituisce la risposta in base al risultato. Questo helper può essere utilizzato per valori non booleani. È necessario passare almeno due elementi per la condizione.
Utilizzo
-
{{and
valuea
valueb
valuec
valued
yes='y
' no='n
'}}È possibile sostituire
y
en
con altri valori, ad esempioyes
eno
, o qualsiasi altra stringa che si desidera restituire, a seconda della condizione. -
{{#and
valuea
valueb
}}La condizione è true.
{{else}}
La condizione è false.
{{/and}}
and
deve essere preceduto dal simbolo di sterlina (#
) e seguito dal simbolo di chiusura{{/and}}
nel blocco di istruzioni.
Esempio
In questo esempio,
eq
viene utilizzato all'interno del blocco di istruzioniand
per determinare se entrambe le stringhe passate per gli attributiLocation.City
eLocation.Country
sono true. Se entrambe le condizioni sono uguali, viene restituita un'istruzione true. Se uno di questi attributi è false, viene restituita un'istruzioneelse
.{{#and (eq Location.City "Los Angeles") (eq Location.Country "US")}}
Vivi a Los Angeles negli Stati Uniti.
{{else}}
Non vivi a Los Angeles negli Stati Uniti.
{{/and}}
-
- eq
-
Verifica se due elementi sono uguali o se il valore di un elemento è uguale a una stringa passata.
Utilizzo
-
{{eq
valuea
valueb
yes='y
' no='n
'}}È possibile sostituire
y
en
con altri valori, ad esempioyes
eno
, o qualsiasi altra stringa che si desidera restituire, a seconda della condizione. -
{{#eq
valuea
valueb
}}La condizione è true.
{{else}}
La condizione è false.
{{/eq}}
eq
deve essere preceduto dal simbolo di sterlina (#
) e seguito dal simbolo di chiusura{{/eq}}
nel blocco di istruzioni.
Esempio
In questo esempio,
eq
viene utilizzato per valutare se il valore diUser.UserAttributes.FavoriteColors.[0]
èrosso
. Se la risposta ètrue
, viene restituita un'istruzione true. Se la risposta èfalse
, viene restituita un'istruzioneelse
.{{#eq User.UserAttributes.FavoriteColors.[0] "
red
"}}Il tuo colore preferito è il rosso.
{{else}}
A te non piace il rosso.
{{/eq}}
-
- gt
-
Verifica se il valore di un elemento è maggiore di un altro.
Utilizzo
-
{{gt
valuea
valueb
yes='y
' no='n
'}}È possibile sostituire
y
en
con altri valori, ad esempioyes
eno
, o qualsiasi altra stringa che si desidera restituire, a seconda della condizione. -
{{#gt
valuea
valueb
}}La condizione è true.
{{else}}
La condizione è false.
{{/gt}}
gt
deve essere preceduto dal simbolo di sterlina (#
) e seguito dal simbolo di chiusura{{/gt}}
nel blocco di istruzioni.
Esempio
In questo esempio, l'helper confronta il valore dell'attributo
User.UserAttributes.UserAge.[0]
con la stringa17
per verificare se l'età dell'utente è maggiore di 17 anni. Se la risposta ètrue
, viene restituita un'istruzione true. Se la risposta èfalse
, viene restituita un'istruzioneelse
.{{#gt User.UserAttributes.UserAge.[0] "
17
"}}Sei abbastanza grande per noleggiare un'auto.
{{else}}
Non sei abbastanza grande per noleggiare un'auto.
{{/gt}}
-
- gte
-
Verifica se il valore di un elemento è maggiore o uguale a un altro.
Usage
-
{{gte
valuea
valueb
yes='y
' no='n
'}}È possibile sostituire
y
en
con altri valori, ad esempioyes
eno
, o qualsiasi altra stringa che si desidera restituire, a seconda della condizione. -
{{#gte
valuea
valueb
}}La condizione è true.
{{else}}
La condizione è false.
{{/gte}}
get
deve essere preceduto dal simbolo di sterlina (#
) e seguito dal simbolo di chiusura{{/gte}}
nel blocco di istruzioni.
Esempio
In questo esempio, l'helper confronta l'attributo
User.UserAttributes.UserAge.[0]
con la stringa18
per verificare se l'età dell'utente è maggiore o uguale a 18 anni. Se la risposta ètrue
, viene restituita un'istruzione true. Se la risposta èfalse
, viene restituita un'istruzioneelse
.{{#gte User.UserAttributes.UserAge.[0] "
18
"}}Sei abbastanza grande per noleggiare un'auto.
{{else}}
Non sei abbastanza grande per noleggiare un'auto.
{{/gte}}
-
- if
-
Valuta se un'istruzione è vera (true) e restituisce una risposta basata sulla valutazione.
Utilizzo
-
{{#if
value
}}È possibile sostituire
y
en
con altri valori, ad esempioyes
eno
, o qualsiasi altra stringa che si desidera restituire, a seconda della condizione. -
{{#if
}}value
La condizione è true.
{{else}}
La condizione è false.
{{/if}}
if
deve essere preceduto dal simbolo di sterlina (#
) e seguito dal simbolo di chiusura{{/if}}
nel blocco di istruzioni.
Esempio
In questo esempio, l'helper if viene utilizzato per valutare se si tratta del nome di un utente. Se viene trovato il nome, viene restituito un messaggio di saluto che riporta il nome dell'utente nella risposta. In caso contrario, l'istruzione else restituisce un saluto alternativo.
{{#if User.UserAttributes.FirstName.[0]}}
Salve
{{User.UserAttributes.FirstName.[0]}}
,
{{else}}
Salve,
{{/if}}
restituisce
Salve Jane,
se l'helper if è true. -
- lt
-
Verifica se il valore di un elemento è minore del valore di un altro.
Utilizzo
-
{{lt
valuea
valueb
yes='y
' no='n
'}}È possibile sostituire
y
en
con altri valori, ad esempioyes
eno
, o qualsiasi altra stringa che si desidera restituire, a seconda della condizione. -
{{#lt
valuea
valueb
}}La condizione è true.
{{else}}
La condizione è false.
{{/lt}}
lt
deve essere preceduto dal simbolo di sterlina (#
) e seguito dal simbolo di chiusura{{/lt}}
nel blocco di istruzioni.
Esempio
In questo esempio, l'helper confronta l'attributo
User.UserAttributes.UserAge.[0]
con la stringa18
per verificare se l'età dell'utente è minore di 18 anni. Se la risposta ètrue
, viene restituita un'istruzione true. Se la risposta èfalse
, viene restituita un'istruzioneelse
.{{#lt User.UserAttributes.UserAge.[0] "
18
"}}Non sei abbastanza grande per noleggiare un'auto.
{{else}}
Sei abbastanza grande per noleggiare un'auto.
{{/lt}}
-
- lte
-
Verifica se il valore di un elemento è minore o uguale a un altro.
Utilizzo
-
{{lte
valuea
valueb
yes='y
' no='n
'}}È possibile sostituire
y
en
con altri valori, ad esempioyes
eno
, o qualsiasi altra stringa che si desidera restituire, a seconda della condizione. -
{{#lte
valuea
valueb
}}La condizione è true.
{{else}}
La condizione è false.
{{/lte}}
lte
deve essere preceduto dal simbolo di sterlina (#
) e seguito dal simbolo di chiusura{{/lte}}
nel blocco di istruzioni.
Esempio
In questo blocco di istruzioni, l'helper confronta l'attributo
User.UserAttributes.UserAge.[0]
con la stringa17
per verificare se l'età dell'utente è uguale a 17 anni. Se la risposta ètrue
, viene restituita un'istruzione true. Se la risposta èfalse
, viene restituita un'istruzioneelse
.{{#lte User.UserAttributes.Age.[0] "
17
"}}Non sei abbastanza grande per noleggiare un'auto.
{{else}}
Sei abbastanza grande per noleggiare un'auto.
{{/lte}}
-
- neq
-
Verifica se due elementi non sono uguali.
Utilizzo
-
{{neq
valuea
valueb
yes='y
' no='n
'}}È possibile sostituire
y
en
con altri valori, ad esempioyes
eno
, o qualsiasi altra stringa che si desidera restituire, a seconda della condizione. -
{{#neq
valuea
valueb
}}La condizione è true.
{{else}}
La condizione è false.
{{/neq}}
neq
deve essere preceduto dal simbolo di sterlina (#
) e seguito dal simbolo di chiusura{{/neq}}
nel blocco di istruzioni.
Esempio
In questo blocco di istruzioni, l'attributo
User.UserAttributes.FavoriteColors.[0]
viene confrontato con una stringa (
). Se la risposta èRed
true
, viene restituita un'istruzione true. Se la risposta èfalse
, viene restituita un'istruzioneelse
.{{#neq User.UserAttributes.Favorite.Colors.[0] "
red
"}}Non ti piace il rosso.
{{else}}
Ti piace il rosso.
{{/neq}}
-
- not
-
Inverte la risposta di un'operazione booleana, in modo che se
not
è un confronto positivo, viene restituita un'istruzionetrue
. Se la risposta è false, viene restituita un'istruzione else.Utilizzo
-
{{not
value
yes='y
' no='n
'}}È possibile sostituire
y
en
con altri valori, ad esempioyes
eno
, o qualsiasi altra stringa che si desidera restituire, a seconda della condizione. -
{{#not
}}value
La condizione è true.
{{else}}
La condizione è false.
{{/not}}
not
deve essere preceduto dal simbolo di sterlina (#
) e seguito dal simbolo di chiusura{{/not}}
nel blocco di istruzioni.
Esempio
In questo blocco di istruzioni, l'attributo
User.UerAttributes.FavoriteColors.[0]
viene confrontato con la stringarosso
, utilizzando l'helpereq
. L'helpernot
restituisce quindi l'opposto dell'helpereq
. Se la risposta restituisce un colore diverso dalrosso
, viene restituita un'istruzionetrue
. Se la risposta restituiscerosso
, viene restituita un'istruzioneelse
che indica un'istruzione false.{{#not (eq User.UserAttributes.Favorite.Colors.[0] "
red
")}}Non ti piace il rosso.
{{else}}
Ti piace il rosso.
{{/not}}
Esempio
In questo esempio:
{{not (eq User.UserAttributes.FavoriteColors.[0] "
red
")}}restituisce false se
User.UserAttributes.FavoriteColors.[0]
èrosso
. -
- oppure
-
Confronta se uno qualsiasi degli elementi dell'argomento è uguale e quindi restituisce una risposta in base al risultato. Questo helper può essere utilizzato per valori non booleani.
Utilizzo
-
{{or
valuea
valueb
valuec
valued
yes='y
' no='n
'}}È possibile sostituire
y
en
con altri valori, ad esempioyes
eno
, o qualsiasi altra stringa che si desidera restituire, a seconda della condizione. È necessario passare almeno due elementi per la condizione. -
{{#or
valuea
valueb
}}La condizione è true.
{{else}}
La condizione è false.
{{/or}}
or
deve essere preceduto dal simbolo di sterlina (#
) e seguito dal simbolo di chiusura{{/or}}
nel blocco di istruzioni.
Esempio
In questo blocco di istruzioni
or
, vengono confrontate due stringhe per l'attributoLocation.City
utilizzando l'helpereq
. Se uno degli attributi ètrue
, viene restituita un'istruzione true. Se una o più risposte sonofalse
, viene restituita un'istruzioneelse
.{{#or (eq Location.City "Los Angeles") (eq Location.City "Seattle")}}
Vivi sulla costa occidentale degli Stati Uniti.
{{else}}
Non vivi sulla costa occidentale degli Stati Uniti.
{{/or}}
-
Questa sezione descrive i seguenti helper stringa:
-
abbreviate
: tronca un valore. -
capitalize
: converte in maiuscolo ogni parola tra spazi. -
capitalizeFirst
: converte in maiuscolo il primo carattere di un valore. -
center
: centra un valore. -
cut
: taglia un valore. -
dateFormat
: imposta lo stile della data. -
inflect
: restituisce una stringa singolare o plurale in base al conteggio. -
join
: unisce un array, un iteratore o un oggetto iterabile. -
ljust
: giustifica un valore al margine sinistro. -
lower
: converte un valore in lettere minuscole. -
now
: stampa la data corrente. -
ordinalize
: ordina un valore numerico. -
replace
: sostituisce una stringa con un'altra. -
rjust
: giustifica un valore al margine destro. -
slugify
: converte un valore in minuscolo e rimuove i caratteri non verbali, converte gli spazi in trattini e rimuove gli spazi finali. -
stripTags
: elimina i tag [X]HTML da un valore. -
substring
: restituisce una nuova stringa come sottostringa di un valore passato. -
upper
: converte il valore passato in lettere maiuscole.
-
yesno
: sostituisce true, false e no con Yes, No e Maybe.
- abbreviate
-
Tronca un valore se supera il numero specificato. Gli spazi sono inclusi nel conteggio della lunghezza. Nella risposta vengono visualizzati i puntini di sospensione per indicare un valore troncato. I puntini di sospensione contano ai fini del valore troncato nella risposta. Questo tipo di helper è utile in presenza di una tabella di grandi dimensioni, ma di uno spazio minimo. Il troncamento dei valori in una cella fa sì che la tabella abbia un aspetto più uniforme.
Utilizzo
{{abbreviate
, sostituendovalue
X
}}X
con un valore numerico che indica il numero di caratteri da conservare. I numeri negativi non sono supportati.Esempio
In questo esempio,
abbreviate
viene utilizzato per troncareUser.UserAttributes.LastName.[0]
a sei (6) caratteri. La risposta include i puntini di sospensione, che vengono considerati ai fini del conteggio del totale di sei caratteri.Valori restituiti da
{{abbreviate
User.UserAttributes.LastName.[0]
6
}}Ale...
seAlessandro
è il valore di[0]
. - capitalize
-
Converte in maiuscolo ogni parola tra spazi.
Utilizzo
{{capitalize
value
}}Esempio
In questo esempio, a ogni parola dell'istruzione
Attributes.description.[0]
viene applicata la maiuscola iniziale.{{capitalize
Attributes.description.[0]
}}Se
Attributes.description.[0]
restituisceIl mio primo post
, se il valore diAttributes.description.[0]
èil mio primo post
. - capitalizeFirst
-
Converte in maiuscolo il primo carattere di un valore.
Utilizzo
{{capitalizeFirst
value
}}Esempio
In questo esempio, la maiuscola viene applicata al primo carattere della prima parola dell'istruzione
Attributes.description.[0]
.Valori restituiti da
{{capitalizeFirst
Attributes.description.[0]
}}Il mio primo post
, se il valore di
èAttributes.description.[0]
il mio primo post
.Esempio
- center
-
Centra il valore in un campo di una data larghezza per il numero specificato. Facoltativamente, puoi passare un carattere da visualizzare come carattere di riempimento o lasciare vuoto il campo. Se non viene passato alcun carattere, viene utilizzato uno spazio.
Utilizzo
{{center
, sostituendovalue
size=X
[pad=" "}}X
con un valore numerico.Se
pad
viene lasciato vuoto, nella risposta viene utilizzato uno spazio come carattere di riempimento. Se passi un carattere, il carattere specificato viene visualizzato in ogni spazio da riempire. I numeri negativi non sono supportati.Esempio
In questo esempio, il valore di
Location.City
è centrato con una dimensione di19
.Valori restituiti da
{{center
Location.City
size=19
}}" Los Angeles "
seLocation.City
èLos Angeles
. Si noti che le virgolette visualizzate nell'output di esempio sono fornite solo per evidenziare il concetto trattato. - cut
-
Rimuove il valore specificato da una stringa.
Utilizzo
{{cut
, sostituendo lo spazio all'interno del parametro " " con il valore da tagliare. Se per il parametro non viene passato alcun valore, viene utilizzato uno spazio.value
[" "
]}}Esempio
Questo esempio rimuove la lettera
e
dall'attributoLocation.City
.Valori restituiti da
{{cut
Location.City
"e
"}}Los Angls
se[Location.City
èLos Angeles
. - dateFormat
-
Imposta lo stile di data predefinito per la data in qualsiasi risposta. Per un elenco degli ID dei fusi orari, consulta https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
. Utilizzo
{{dateFormat date [inputFormat="format1"] [outputFormat="format2"] [tz=timeZoneId] [locale=localeID]}}
Il parametro
format
deve avere una delle seguenti impostazioni.-
"
full
": formato di data completo. Ad esempio,martedì 19 settembre 2020
-
"
long
": formato di data esteso. Ad esempio,19 settembre 2020
-
"
medium
": formato di data medio. Ad esempio,19 settembre 2020
-
"
short
": formato di data breve. Ad esempio,19/9/20
-
"
pattern
": utilizza un formato di modello di data personalizzato. Per ulteriori informazioni sui modelli di data, consulta https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
"
locale
": utilizza un formato di data basato su una determinata impostazione locale. Per ulteriori informazioni sulle impostazioni locali, consulta https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/LocaleUtils.html#toLocale-java.lang.String-. Se un formato non viene passato, viene utilizzato
medium
per impostazione predefinita.Esempio
In questo esempio, la voce
[0]
per
èUser.UserAttributes.StartDate.[0]
09/19/2020
e un messaggio viene inviato a un utente utilizzando il formato di datafull
in base al fuso orarioAmerica/Los_Angeles
.Valori restituiti da
We can meet with you any time on
{{dateFormat User.UserAttributes.StartDate.[0] inputFormat="MM/dd/yyyy" outputFormat="full" tz=America/Los_Angeles}}.
Ci vediamo a qualsiasi ora martedì 19 settembre 2020.
-
- inflect
-
Restituisce una stringa singolare o plurale in base al valore del conteggio.
Utilizzo
{{inflect
count
singular
plural
[includeCount=false]}}-
Immetti le forme singolare e plurale della stringa che desideri passare all'argomento.
-
Se
includeCount
è impostato sufalse
, nella risposta non viene restituito alcun conteggio. Se invece è impostato sutrue
,count
viene incluso nella risposta.
Esempio
Gli esempi seguenti mostrano l'inflessione dell'acquisto di mele, con e senza
includeCount
.Thank you for your purchase of {{inflect
restituisce:3
apple
apples
includeCount=false
}}.Grazie per aver acquistato delle mele.
Se
includeCount
è impostato sutrue
, la risposta èGrazie per aver acquistato 3 mele.
-
- join
-
Unisce un array, un iteratore o un oggetto iterabile. La risposta restituisce un elenco, con ogni valore dell'elenco concatenato dal carattere passato in
join
. Ad esempio, è possibile separare i valori utilizzando una virgola (,
). Il valore di questo helper deve essere un elenco senza un indice di posizione dell'attributo, ad esempioAttributes.custom_attribute
.Utilizzo
{{join
value
" // " [prefix=""] [suffix=""]}}Esempio
In questo esempio, viene restituito un elenco di colori separati da una virgola e uno spazio (
", "
):Valori restituiti da
{{join
Attributes.favorite_colors
",
"}}blu, rosso, verde
se l'elencoAttributes.favorite_colors
èblu,rosso,verde
. - ljust
-
Giustifica il valore al margine sinistro e aggiunge spazio a destra in modo che la lunghezza del valore corrisponda al numero. I numeri negativi non sono supportati.
Facoltativamente, puoi passare un carattere da visualizzare per
pad
o lasciare vuoto il campo. Se lasci vuoto il valorepad
, il valore predefinito è uno spazio.Utilizzo
{{ljust
, dovevalue
size=X
[pad=" "]}}X
è la lunghezza totale del valore, incluso lo spazio.Esempio
In questo esempio, un valore di giustificazione a sinistra pari a
15
viene applicato a Location.City.Valori restituiti da
{{ljust
Location.City
size=15
}}"Los Angeles "
se il valore diLocation.City
èLos Angeles
. Si noti che le virgolette visualizzate nell'output di esempio sono fornite solo per evidenziare il concetto trattato. - lower
-
Converte un valore in formato tutto minuscolo.
Utilizzo
{{lower
value
}}Esempio
In questo esempio, la voce
[0]
perUser.UserAttributes.LastName.[0]
viene modificata nel formato minuscolo.Valori restituiti da
{{lower
User.UserAttributes.LastName.[0]
}}santos
seSantos
è il valore di[0]
. - ora
-
Stampa la data corrente in base all'ID del fuso orario passato. Per un elenco degli ID dei fusi orari, consulta https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
. Utilizzo
{{now ["format"] [tz=timeZoneId] [locale=localeID]}}
Il parametro
format
deve avere una delle seguenti impostazioni.-
"
full
": formato di data completo. Ad esempio,martedì 19 settembre 2020
-
"
long
": formato di data esteso. Ad esempio,19 settembre 2020
-
"
medium
": formato di data medio. Ad esempio: 19 settembre 2020 -
"
short
": formato di data breve. Ad esempio, 19/9/20 -
"
pattern
": modello di data. Per ulteriori informazioni sui modelli di data, consulta https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html.
"
locale
": utilizza un formato di data basato su una determinata impostazione locale. Per ulteriori informazioni sulle impostazioni locali, consulta https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/LocaleUtils.html#toLocale-java.lang.String-. Se un formato non viene passato, viene utilizzato
medium
per impostazione predefinita.Esempio
In questo esempio, la data corrente di Los Angeles viene restituita con nel formato
medium
.Valori restituiti da
{{now "medium" tz=
America/Los_Angeles
}}19 set 2020
. -
- ordinalize
-
Converte in ordinale il valore numerico passato nell'argomento.
Ad esempio,
e così via. Sono supportati solo valori numerici.1
è convertito in1°
,2
in 2°Utilizzo
{{ordinalize [
number
]}}Esempio
In questo esempio, la voce
[0]
diUser.UserAttributes.UserAge
viene convertita in ordinale e restituita assieme a un messaggio.Congratulations on your {{ordinalize User.UserAttributes.UserAge.[0]}} birthday!
restituisce22
convertito in ordinale come22°
.Congratulazioni per il tuo 22° compleanno!
- replace
-
Sostituisce una stringa con un'altra. Una stringa o un valore numerico deve essere letterale. I caratteri jolly non sono supportati.
Utilizzo
{{replace
stringToReplace
replacementValue
}}Esempio
In questo esempio, un carattere di sottolineatura (_) sostituisce uno spazio.
Valori restituiti da
{{replace
Location.City
" " "_"
}}Los_Angeles
seLocation.City
èLos Angeles
. - rjust
-
Giustifica il valore al margine destro e aggiunge spazio a sinistra in modo che la lunghezza del valore corrisponda al numero. I numeri negativi non sono supportati.
Facoltativamente, puoi passare un carattere da visualizzare per
pad
o lasciare vuoto il campo. Se lasci vuoto il valorepad
, il valore predefinito è uno spazio.Utilizzo
{{rjust
, dovevalue
size=X
[pad=" "]}}X
è la lunghezza totale del valore, incluso lo spazio.Esempio
In questo esempio, all'attributo
Location.City
viene applicato un valore di giustificazione a destra pari a15
.Valori restituiti da
{{rjust
Location.City
size=15
}}" Los Angeles"
seLocation.City
èLos Angeles
. Si noti che le virgolette visualizzate nell'output sono fornite solo per evidenziare il concetto trattato. - slugify
-
Converte il valore passato in minuscolo, rimuove i caratteri non letterali (alfanumerici e trattini bassi), converte gli spazi in trattini e rimuove gli spazi iniziali o finali.
Utilizzo
{{slugify
value
}}Esempio
In questo esempio, viene eseguito slugify per l'attributo
Location.City
.Valori restituiti da
{{slugify
Location.City
}}los-angeles
seLocation.City
àLos Angeles
. - stripTags
-
Elimina i tag [X]HTML da un valore.
Utilizzo
{{stripTags
value
}}Esempio
In questo esempio, i tag HTML per User.UserAttributes.interest.[0] vengono rimossi.
Valori restituiti da
{{stripTags
User.UserAttributes.interests.[0]
}}Art
, seUser.UserAttributes.interests.[0]
è<h1>Art</h1>
. - substring
-
Restituisce una nuova stringa come sottostringa del valore passato. La lunghezza e la posizione sono determinate dai parametri
startOffset
eendOffset
, che devono essere numeri interi. I numeri negativi non sono supportati. SeendOffset
viene passato, la sottostringa utilizza il valore finale originale della stringa.Utilizzo
{{substring
value
startOffset
[endOffset]
}}Esempio
In questo esempio, all'attributo Location.City vengono applicati offset impostato su 4 e endOffset impostato su 9.
{{substring
restituisceLocation.City 4 9
}}
se Los Angeles è il valore diAngel
Location.City
èLos Angeles
. - upper
-
Converte il valore passato in lettere maiuscole.
Utilizzo
{{upper
value
}}Esempio
In questo esempio, la voce
[0]
relativa all'attributoUser.UserAttributes.LastName
viene convertita interamente in lettere maiuscole.{{upper User.UserAttributes.LastName.[0]}}
restituisceROE
se il valoreUser.UserAttributes.LastName.[0]
èRoe
. - yesno
-
Sostituisce
true
,false
eNULL
conYes
,No
eMaybe
.Utilizzo
{{yesno value [yes="yes"] [no="no"] maybe=["maybe"]}}
Esempio
In questo esempio, l'attributo
IsUserSubscribed
restituisce un valore indicante se un utente è iscritto a un elenco particolare.Valori restituiti da
{{yesno Attributes.IsUserSubscribed}}
yes
seAttributes.IsUserSubscribed
ètrue
.
Questa sezione descrive gli helper matematici e di codifica.
-
add
: restituisce la somma di due numeri. -
ceiling
: arrotonda un numero intero al relativo limite matematico superiore. -
decode64
: decodifica un valore codificato in formato Base64 in una stringa. -
divide
: restituisce il quoziente di due numeri. -
encode64
: codifica una stringa utilizzando Base64. -
floor
: arrotonda un numero intero al relativo limite matematico inferiore. -
md5
: esegue l'hash di una stringa passata utilizzando l'algoritmo MD5. -
modulo
: restituisce il resto di due numeri utilizzando virgola mobile. -
multiply
: restituisce il prodotto di due numeri. -
round
: arrotonda un decimale al numero intero più vicino. -
sha256
: esegue l'hash di una stringa passata utilizzando SHA-256. -
sha512
: esegue l'hash di una stringa passata utilizzando SHA-512. -
subtract
: restituisce la differenza tra due numeri. -
uuid
: genera casualmente un UUID in un formato a 128 bit.
- aggiungi
-
Restituisce la somma di due numeri assieme alle virgole mobili.
Utilizzo
{{add
arg1
arg2
}}Esempio
{{add
restituisce5 2.3
}}7.3
- ceiling
-
Arrotonda un numero intero al relativo limite matematico superiore, che è il numero intero più alto più vicino al valore passato.
Utilizzo
{{ceiling
value
}}Esempio
Valori restituiti da
{{ceiling
5.23
}}6
- decode64
-
Decodifica un valore in formato Base64 in una stringa.
Utilizzo
{{decode64 "
string
"}}Esempio
Valori restituiti da
{{decode64 "
SGVsbG8gd29ybGQ
="}}Hello World
- divide
-
Restituisce il quoziente di due numeri, incluse le virgole mobili.
Utilizzo
{{divide
arg1
arg2
}}Esempio
Valori restituiti da
{{divide
5 2.3
}}2.17391304
- encode64
-
Codifica la stringa passata nell'argomento utilizzando Base64.
Utilizzo
{{encode64 "
string
"}}Esempio
{{encode64 "
Hello World"
}}SGVsbG8gd29ybGQ=
- floor
-
Arrotonda un numero intero al relativo limite matematico inferiore, che è il numero intero più basso più vicino al valore passato.
Utilizzo
{{floor
value
}}Esempio
Valori restituiti da
{{floor
5.23
}}5
- md5
-
Esegue l'hash di una stringa passata utilizzando l'algoritmo MD5.
Utilizzo
{{md5 "
string
"}}Esempio
{{md5 "
Hello World
"}}3e25960a79dbc69b674cd4ec67a72c62
- modulo
-
Restituisce il resto di due numeri utilizzando virgola mobile.
Utilizzo
{{modulo
arg1
arg2
}}Esempio
Valori restituiti da
{{modulo
7 2
}}1
- multiply
-
Restituisce il prodotto di due numeri, con qualsiasi virgola mobile.
Utilizzo
{{multiply
arg1
arg2
}}Esempio
Valori restituiti da
{{multiply
5 2.3
}}11.5
- round
-
Arrotonda una cifra decimale per eccesso o per difetto al numero intero più vicino.
Utilizzo
{{round
value
}}Esempio
You spent an average of {{round
restituisce:19.21
}} minutes on our website each day.Hai trascorso in media 19 minuti al giorno sul nostro sito Web.
- sha256
-
Esegue l'hash di una stringa passata utilizzando la sicurezza crittografica SHA-256.
Utilizzo
{{sha256 "
string
"}}Esempio
Valori restituiti da
{{sha256 "
Hello World
"}}a591a6d40bf420404a011733cfb7b190d62c65bf0bcda32b57b277d9ad9f146e
- sha512
-
Esegue l'hash di una stringa passata utilizzando la sicurezza crittografica SHA-512.
Utilizzo
{{sha512 "
string
"}}Esempio
Valori restituiti da
{{sha512 "
Hello World
"}}2c74fd17edafd80e8447b0d46741ee243b7eb74dd2149a0ab1b9246fb30382f27e853d8585719e0e67cbda0daa8f51671064615d645ae27acb15bfb1447f459b
- subtract
-
Restituisce la differenza di due numeri, con qualsiasi virgola mobile.
Utilizzo
{{subtract
arg1
arg2
}}Esempio
Valori restituiti da
{{subtract
5 2.3
}}2.7
- uuid
-
Genera casualmente un UUID in un formato standard a 128 bit. Non è necessario passare valori nell'argomento.
Utilizzo
{{uuid}}
Esempio
Valori restituiti da
{{uuid}}
95f36680-152c-4052-99ec-cc3cdf7ca594
Anche se tecnicamente non sono considerati helper, i parziali inline sono un modo per semplificare i modelli che includono stringhe ripetute, facilitandone il riutilizzo. Per ulteriori informazioni, consulta la pagina relativa ai parziali inline
Utilizzo
{{#* inline "inlineName"}}Content to reuse{{/inline}}
Per fare riferimento al contenuto del parziale inline in una posizione diversa, usa:
{{> inlineName}}
Esempio
Ad esempio, potresti creare un parziale inline contenente il nome del destinatario e, se disponibile, il cognome aggiungendo il codice seguente all'inizio del modello:
{{#* inline "
fullName
"}}
{{User.UserAttributes.FirstName.[0]}} {{#if
User.UserAttributes.LastName.[0]}} {{User.UserAttributes.LastName.[0]}} {{/if}}
{{/inline}}
Una volta creato il parziale fullName
, puoi includerlo in qualsiasi punto del modello anteponendo al nome del parziale il segno "maggiore di" (>
) seguito da uno spazio, come nell'esempio seguente: {{>
fullName}}
.
Hello {{> fullName}}
restituisce il nome e il cognome dell'utente se true, ad esempio Salve Jane Doe
. Altrimenti, se non viene trovato alcun cognome, viene restituito Salve Jane
.
InHandlebars sono disponibili altre funzionalità oltre quelle documentate in questa sezione. Per ulteriori informazioni, consulta handlebarsjs.com
Utilizzo di variabili con gli helper modello di messaggio
Gli attributi personalizzati di Amazon Pinpoint, ad esempio User.UserAttributes.LastName
, vengono archiviati come elenco, indipendentemente dal fatto che si tratti di una singola voce o di più voci. Quando passi un elenco a un helper che prevede una stringa, devi specificare il valore dell'indice dell'attributo insieme al nome dell'attributo. Questo valore dell'indice dell'attributo indica la posizione di un valore rispetto all'elenco di attributi: .[0]
per la prima voce nell'elenco, .[1]
per la seconda, .[2]
per la terza e così via. Ad esempio, si supponga che tu stia usando l'helper upper
per convertire la prima voce ([0]
) di User.UserAttributes.LastName
nel formato tutto maiuscolo. L'utilizzo dell'helper è {{upper
e l'attributo è formattato come value
}}User.UserAttributes.LastName
. Sostituisci valore
con il nome dell'attributo e il valore dell'indice dell'attributo
come segue: .[0]
{{upper
User.UserAttributes.LastName.[0]}}
. La risposta restituisce quindi la voce [0]
dall'elenco, nel formato tutto maiuscolo. Ad esempio, se il valore di [0]
è Santos
, la risposta restituisce SANTOS
.
I nomi degli attributi personalizzati di Amazon Pinpoint supportano gli spazi. Per avere un attributo personalizzato chiamato "Last Name"
, devi formattarlo come User.UserAttributes.[Last Name]
. Per accedere alla prima voce dell'elenco degli indici degli attributi, il formato è User.UserAttributes.[Last Name].[0]
.
Il nome di un attributo personalizzato può contenere fino a 50 caratteri. Un valore di attributo può contenere fino a 100 caratteri. Quando definisci il nome di un attributo personalizzato, evita di utilizzare i seguenti caratteri: cancelletto (#), due punti (:), punto interrogativo (?), barra rovesciata (\) e barra (/). La console Amazon Pinpoint non è in grado di visualizzare i nomi degli attributi contenente questi caratteri. Questa restrizione non si applica ai valori degli attributi.
Utilizzo di helper annidati
Puoi annidare più helper modello di messaggi l'uno nell'altro. L'esempio seguente mostra come formattare due helper: {{ first helper (second helper)}}
. Il secondo helper viene elaborato per primo, seguito dal primo helper. Ricorda che è il primo helper a determinare sempre l'output. Gli helper successivi devono essere annidati all'interno dell'helper precedente nel seguente modo: {{ first helper (second helper (third helper)
)}}
L'esempio seguente mostra come annidare due helper per modificare JANE
in Jane
: {{capitalizeFirst
(lower "
. JANE
")}}lower
converte innanzitutto JANE
in jane
. Quindi capitalizeFirst
converte jane
in Jane
.