Salvare i contenuti nel database CMS della piattaforma permette di poterli riutilizzare in contesti diversi.
In piattaforma sono già salvati dei tipi predefiniti (Contenuti di sistema) che è possibile richiamare nel codice. È sempre possibile estendere le proprietà di questi tipi predefiniti.
Si può infine creare un proprio tipo di contenuto, mediante un Template di contenuto che va realizzato nella sezione: Journey Lab > Template > Contenuto.
Contenuti di sistema
Quello che segue è l'elenco dei contenuti già predisposti e che potranno poi essere estesi nel template:
- object: è l'oggetto di base;
- html: estensione di object.
Accetta come parametro description di tipo html ([param:description]
); - content: estensione di object.
Accetta come parametri:- title (di tipo text)
[param:title]
; - description (di tipo html)
[param:description]
(la description contiene l'abstract dell'oggetto); - link (di tipo url)
[link:landingpage]
; - taglist (di tipo taglist)
[param:taglist]
;
- title (di tipo text)
- link: estensione di content che manca del parametro description.
- article: estensione di content.
Accetta oltre che i parametri title, description, link e taglist anche:- image (di tipo image)
[param:image]
; - content (di tipo html)
[param:content]
(il content contiene l'approfondimento dell'oggetto).
- image (di tipo image)
Estensione di tipi
Partendo da un tipo di oggetto, è possibile creare dei sottotipi, utili per creare, ad esempio, una variante dell'oggetto principale.
Nei sottotipi non sarà necessario dichiarare nuovamente i parametri dell'oggetto iniziale.
Per creare il nuovo tipo di oggetto è necessario aggiungere mn:extends
ed indicare il tipo di oggetto che sarà esteso.
Creazione del typedef
<div mn:typedef mn:name="product" mn:label="Product">
<meta mn:param mn:name="productname" mn:type="text" mn:default="Product">
<meta mn:param mn:name="productprice" mn:type="text" mn:default="100">
<h2>[param:productname]</h2>
<h3>Prezzo: [param:productprice]€</h3>
</div>
Creazione dell'extends
<div mn:typedef mn:name="productdiscount" mn:extends="product" mn:label="Discounted product">
<meta mn:param mn:name="productnewprice" mn:type="text" mn:default="50">
<h2>[param:productname]</h2>
<h3>Scontato: [param:productprice]€ [param:productnewprice]€</h3>
</div>
Stampa dei due oggetti
<div mn:container mn:repeatable mn:type="productdiscount" mn:min="1" mn:max="1"></div>
<div mn:container mn:repeatable mn:type="product" mn:min="1" mn:max="5"></div>
Nel caso in cui volessi aggiungere uno o più link diversi dal [link:landingpage]
per i quali generare eventi statistici sui tag della taglist, puoi:
- Dichiarare la stessa taglist di content/article:
<a href="[param:link2]" mn:taglist="[param:taglist]">stessa taglist di content/article</a>
- Dichiarare una taglist differente:
<meta mn:name="taglist2" mn:type="taglist" >
<a href="[param:link2]" mn:taglist="[param:taglist2]">nuova taglist</a>