Se si crea uno specifico contenuto all'interno di un container, esso apparterrà al contenitore stesso.
Con il linguaggio Giotto è comunque possibile creare contenuti al di fuori del contenitore, con il vantaggio che questi potranno essere riutilizzabili.
È per esempio possibile creare un oggetto di tipo Articolo, che sarà salvato sul database della piattaforma e potrà essere richiamato in contesti diversi da quelli in cui è stato creato.
Dichiarazione di un contenuto predefinito
Un tipo di contenuto può essere dichiarato all'interno di un template o direttamente in piattaforma seguendo il percorso Journey Lab > Template > Contenuto.
È anche possibile configurare il perimetro di applicabilità di un contenuto a livello Globale, di Journey o solo per alcuni journey.
Per dichiarare un contenuto predefinito usa l'attributo mn:typedef
.
<div mn:typedef mn:name="type1" mn:label="Tipo 1">
<meta mn:param mn:name="param1" mn:type="text">
Questo é un oggetto di tipo 1 con un parametro:[param:param1]
</div>
<div mn:typedef mn:name="type2" mn:label="Tipo 2">
<div mn:editable>Questo é un oggetto di tipo 2</div>
</div>
Uso di un contenuto predefinito
Per usare un typedef in un container è sufficiente indicare il tipo di contenuti che è possibile creare all'interno del container stesso.
Per farlo puoi usare l'attributo mn:type
.
<div mn:container mn:repeatable mn:type="type1"></div>
Ricorda che all'interno di un container è possibile dichiarare più di un tipo:
<div mn:container mn:repeatable mn:type="type1,type2"></div>
Layout di default
Usando l'attributo mn:default
è possibile predefinire un layout che imposterà l'ordine di creazione degli oggetti al momento della creazione della comunicazione.
<div mn:container mn:repeatable mn:type="type1,type2" mn:default="type2,type1,type2"></div>