Quello che segue è l'elenco non esaustivo dei parametri e segnaposti più usati nel linguaggio Giotto.
Un parametro può essere definito aggiungendo l'attributo <mn:param>
in un tag HTML e specificandone l'ID usando <mn:name>
<meta mn:param mn:name="myparam"/>
.
Per stampare un parametro o una variabile scrivi: [param:name{defaultValue}]
.
Parametro | Descrizione | Esempio |
---|---|---|
contact | Stampa il valore di un Campo contatti. | [contact:idfield] |
contactstats | Stampa i dati statistici di un contatto relativi al canale email. | [contactstats:sent] [contactstats:received] |
var | Stampa una variabile globale, di contesto o di Database. | [var:mydatabasevariable] |
ico | Stampa un'icona di sistema. | <img src="[ico:facebook]"> |
message | Stampa il valore di un messaggio. | [message:fromname] |
translate | Stampa la traduzione di una variabile/stringa. | [translate:myvariable] |
link | Stampa un link di sistema. | [link:unsubscribe] |
Contact
Segnaposto | Descrizione |
---|---|
[contact:NAME] | Stampa il valore del campo con ID "NAME". |
[contact:IDCAMPO$colonna1] | Avendo un campo contatto di tipo relazione semplice con ID "IDCAMPO" e una tabella dati collegata al campo che ha la colonna "colonna1", stampa il valore di "colonna1" per il contatto. |
[contact:IDCAMPO$colonna1 orderby='cod asc'] | Avendo un campo contatto di tipo relazione molti a molti con ID "IDCAMPO" e una tabella dati collegata al campo che ha la colonna "colonna1", stampa il primo valore trovato ordinando per la colonna "cod". |
[contact:IDCAMPO$colonna1 where='cod=20'] | Avendo un campo contatto di tipo relazione molti a molti con ID "IDCAMPO" e una tabella dati collegata al campo che ha la colonna "colonna1", stampa il valore trovato nel record con la colonna "cod" uguale a 20. |
[contact:IDCAMPO$colonna1 where='cod eq \'cravatta\''] | Avendo un campo contatto di tipo relazione molti a molti con ID "IDCAMPO" e una tabella dati collegata al campo che ha la colonna "colonna1", stampa il valore trovato nel record con la colonna "cod" uguale a "cravatta". Nota: utilizza gli apici singoli e la \ come escape, come da esempio; non utilizzare le doppie virgolette. |
Contactstats
Segnaposto | Descrizione | Esempio |
---|---|---|
[contactstats:sent] | Stampa il numero di email spedite. | contact.stats.sent |
[contactstats:received] | Stampa il numero di email ricevute. | contact.stats.received |
[contactstats:opened] | Stampa il numero di email aperte. | contact.stats.opened |
[contactstats:clicked] | Stampa il numero di email cliccate. | contact.stats.clicked |
[contactstats:forwarded] | Stampa il numero di email inoltrate. | contact.stats.forwarded |
[contactstats:lasttags] | Stampa la lista degli ultimi tag cliccati (click su Comunicazioni + Click sul contenuto). |
contact.stats.lasttags (stringa)mn:where='taglist like @contact.stats.lasttags'
|
Messaggi
Segnaposto | Descrizione |
---|---|
[message:fromname] | Stampa il from name del messaggio. |
[message:fromemail] | Stampa il from email del messaggio. |
[message:subject] | Stampa il subject del messaggio. Attenzione: per rappresentare il subject del messaggio eventuali sezioni mn:init, che solitamente eseguono delle query, verranno eseguite nuovamente. |
[message:previewtext] | Stampa il testo di anteprima del messaggio. |
[message:sentdate] | Stampa la data di spedizione del messaggio. |
[message:deliverydate] | Stampa la data di consegna del messaggio. |
[message:firstdeliverydate] | Stampa la data di prima consegna del messaggio. |
[message:deliverydate pattern='dd/MM/yyyy HH:mm'] | Configura il formato data della data di consegna del messaggio. |
[message:iddelivery] | Identificativo della spedizione, dove applicabile. |
[message:idnewsletter] | Identificativo della comunicazione, dove applicabile. |
[message:idcampaign] | Identificativo del journey, dove applicabile. |
[message:idmessage] | Identificativo del messaggio transazionale, dove applicabile. |
[message:description] | Descrizione del messaggio per i contatti, dato impostato nel setup della comunicazione. |
[message:ref] | Token che identifica il messaggio univocamente, può essere usato per generare eventi usando le API (vedi opzione "storeEvent" nelle API relative ai Contatti). |
Link
Parametro | Descrizione | Esempio |
---|---|---|
[link:unsubscribe] | Link al flusso di disiscrizione. | <a href="[link:subscribe]" mn:if="friend">Subscribe</a> |
[link:subscribe] | Link al flusso di iscrizione. | <a href="[link:unsubscribe]" mn:if="not friend and contact.identified">Unsubscribe</a> L'utilizzo della condizione <mn:if="friend"> mostra il link è visibile solo per i contatti non riconosciuti. La condizione <mn:if="not friend and contact.identified"> rende il link di disiscrizione visibile solo ai contatti riconosciuti. |
[link:confirmsubscription] | Link al flusso di conferma iscrizione. | <a href="[link:confirmsubscription]">Confirm Subscribe</a> |
[link:editprofile] | Link al flusso di modifica del profilo. | <a href="[link:editprofile]">Edit profile</a> |
[link:webversion] | Link alla versione Web della comunicazione. | <a href="[link:webversion]">Web version</a> <a href="[link:webversion]" lang='ENG'>Web english version</a> |
[link:mobileversion] | Link alla versione web mobile della comunicazione. | <a href="[link:mobileversion]">Mobile version</a> |
[link:forwardnewsletter] | Link al flusso di inoltro ad un amico della comunicazione. | <a href="[link:forwardnewsletter]">Inoltra ad un amico</a> |
[link:sharenewsletter] | Link al flusso di condivisione della comunicazione sui social network. | <a href="[link:sharenewsletter social='facebook']">Condividi su Facebook</a> <a href="[link:sharenewsletter social='twitter']">Condividi su Twitter</a> <a href="[link:sharenewsletter social='linkedin']">Condividi su LinkedIn</a> |
[link:sharelink] | Link per condividere un link esterno sui social network. | <a href="[link:sharelink social='facebook' href='http://mydomain.com']">Share on Facebook</a> <a href="[link:sharelink social='twitter' href='param.mylink' text='Text on twitter']">Share on Twitter</a> <a href="[link:sharelink social='linkedin' href='param.mylink']">Share on LinkedIn</a> |
[link:forwardcontent] | Link al flusso di inoltro di un contenuto specifico ad un amico. | < a href="[link:forwardcontent]">Forward to a friend</a> |
[link:sharecontent] | Link per condividere contenuti sui social network. | <a href="[link:sharecontent social=' facebook']">Share Content on facebook</a> <a href="[link:sharecontent social=' twitter ']">Share Content on twitter</a> |
Formattazione del testo
È possibile formattare il valore di ogni placeholder in diversi modi.
Scelta multipla
Segnaposto | Descrizione | Esempio |
---|---|---|
separator | Carattere usato come separatore. | separator=',' |
prefix | Stampa una stringa prima di un valore. | prefix='' |
suffix | Stampa una stringa dopo un valore. | suffix='' |
Variabili di workflow
È possibile stampare il valore di una variabile di workflow.
Segnaposto | Descrizione |
---|---|
[workflow:id_variabile] | Stampa il valore di una variabile di workflow. |
Se la variabile di workflow è stata chiamata id_variabile e nel segnaposto la richiamerai con la sintassi: [workflow:ID_VARIABILE] non verrà renderizzata correttamente.
Codifica
È possibile definire una codifica specifica basata sulle esigenze degli utenti.
-
encode="encodejs"
: sostituisce i caratteri javascript -
encode="urlencode"
: codifica il valore come parametro dell'URL.
Esempio:
<meta mn:param mn:name="text" mn:type="text" mn:default="; à é & '" />
[param:text]
[param:text encode='encodehtml']
[param:text encode='encodejs']
[param:text encode='urlencode']
Usare placeholders in blocchi CSS
All'interno del codice CSS (Cascading Style Sheets) non si può usare direttamente la sintassi con le parentesi quadre tipica dei placeholders come [param:backgroundcolor].
Per ovviare a questo problema sono disponibili due sintassi:
- Commenti per sostituire l'intero valore di un attributo:
color: blue /*[param:color]*/
- Commenti per sostituire una parte (token) di un valore di un attributo:
border: 1px solid /**[param:bordertype]*/ blue /**[param:color]*/
Se usi il commento normale, ovvero '/* ... */' allora Giotto sostituisce il commento con il valore dell'attributo.
Se usi il commento con due stelline '/** ... */' Giotto sostituisce solo la parte precedente al commento.
Attualmente non esiste una sintassi per gestire il qualificatore '!important'
Fai attenzione e considera che per l'invio di messaggi Email normalmente si applica la tecnica dei "CSS Inline", ossia Giotto riporterà negli attributi 'style' tutte le regole definite all'interno dei tag <style> per migliorare la compatibilità con i diversi client di posta.
Esempio completo:
<style>
.myClass {
/* Sostituzione di tutto il valore */
color: blue /*[param:color]*/;
/* Sostituzione di 'solid' e di 'blue' indipendentemente */
border: 1px solid /**[param:bordertype]*/ blue /**[param:color]*/;
}
</style>