Personnalisation du contenu d'un template

Présentation

La plateforme EMT fournit un langage propriétaire de personnalisation pour mettre en forme les messages avec vos données personnalisées.
Grâce à ce langage vous pouvez rendre variable des parties de vos messages avec les entités et attributs définis dans le contrat de donnée
(cf: onglet Gestion du Contrat)
Une fois vos entités créées, pensez bien à les lier à votre template via l'onglet Contrat.

Les parties personnalisables d'un message

Le sujet
La partie gauche du from mail
Le from name
Le Reply To mail et name
Le contenu HTML et le contenu texte

Les règles du langage de personnalisation EMT :

Toute expression à évaluer doit commencer par [# et finir par #]
N expressions peuvent être mises à la suite entre les tags [# et #]
On peut imbriquer N expressions les unes dans les autres.
Remarque: L'expression conditionnelle (IF...THEN...ELSE) ne peut pas contenir un SWITCH de même qu'un SWITCH ne peut pas contenir une expression conditionnelle
Les chaines de caractères non interprétables doivent être comprises entre des ' '
Le \ sert de caractère d’échappement entre les ' '
Exemple :  ‘<td width=\’20\’ </td>’

Les différents types d'expression

Dans les exemples ci dessous nous utiliserons les entités et attributs suivants :
COMMANDE
  • ID
  • MONTANT
LIGNEDECOMMANDE
  • MONTANT
  • DESIGNATION
  • CATEGORIEPRODUIT

1. Affichage d'un paramètre simple : Afficher l’ID d’une COMMANDE

Afficher l'ID d'une commande
    [#COMMANDE.ID#]

2. IF : Personnalisation conditionnelle : Afficher une expression si le MONTANT d'une commande est supérieur à un certain montant et rien ou une autre expression le cas contraire

Afficher une expression si le MONTANT d'une commande est supérieur à un certain montant et rien ou une autre expression le cas contraire

Les différents opérateurs
  • = égal à
  • > supérieur à
  • < inférieur à
  • >= supérieur ou égal à
  • <= inférieur ou égal à
  • <> différent de
2.1. Affichage d'une expression uniquement si le Montant d'une Commande est supérieur à 500
 
2.2. Affichage d'une expression différente en fonction du Montant d'une Commande (à noter l'utilisation du \ car certaines chaines contienne des ' )
(à noter l'utilisation du \ car certaines chaines contienne des ' )

3. FOREACH : Afficher une liste d'éléments

Afficher un tableau composé d'un nombre variable de Lignes de Commandes.
Dans l'onglet Contrat, penser à lier l'entité LIGNEDECOMMANDE au template en cochant en plus la case Liste d'entités.
Il est possible d'accéder au nombre d'éléments contenus dans la COLLECTION pour faire des tests sur celui ci avec l'attribut COUNT.
De même, si vous êtes à l'intérieur d'un FOREACH vous pouvez également récupérer la position de l'élément courant dans la COLLECTION avec l'attribut POSITION
Exemple de résultats à l'affichage :

3 produits commandés
N° de ligne Désignation Montant
1 Produit 1 120.48
2 Produit 2 20.80
3 Produit 3 12.04

4. SWITCH : Affichage conditionnel multiple

Affichage d’expressions différentes selon la valeur d’un attribut.
Permet d'eviter plusieurs IF imbriqués.
Possibilité d'utiliser N fois le mot clé CASE
Le mot clé DEFAULT doit toujours se placer en dernier


L'exemple ci dessous affiche un texte différent selon la catégorie du produit de la Ligne de Commande

5. ENCODE : Les fonctions de formatage

Elles permettent d'agir sur la façon d'afficher une expression.
Les fonctions disponibles sont les suivantes :
BASE64ENCODE : encodage en base 64
URLENCODE : encodage url
Les paramètres des liens sont encodés directement par la plateforme, vous n'avez pas besoin d'utiliser la fonction URLENCODE.

HTMLENCODE : encodage HTML

Exemple : [#BASE64ENCODE(COMMANDE.ID)#]

6. Imbrication d'expressions

Exemple complexe d'affichage d'une liste de Commandes détaillée en Lignes de Commandes lorsque le Montant de la Commande dépasse 500.
Quand 2 collections sont imbriquées, sélectionner la collection de plus petit niveau dans la colonne Composé de de l'onglet Contrat (COMMANDE Composé de LIGNEDECOMMANDE dans notre exemple).
Exemple de résultat à l'affichage

Détail des commandes importantes
N° de commande Désignation Montant
1 111,11
2 555,55
Produit 2 222,22
Produit 3 333,33
3 444,44