Noeud template
Le noeud template
est utilisé pour générer des données sur la base d'un modèle donné. Il permet de créer des chaînes, du HTML, du JSON et d'autres formats, en appliquant une substitution dynamique des valeurs à partir du message msg
ou d'autres sources.
Paramètres du noeud template
1. Nom
Champ pour indiquer le nom du noeud.
Le nom s'affiche dans l'espace de travail et aide à identifier facilement le noeud.
S'il est laissé vide, le noeud sera nommé template
.
Exemple :
- Nom du noeud :
hello world
2. Modèle
Champ principal où le texte du modèle est défini.
Il prend en charge la substitution de données via des accolades ({{...}}
) et les fonctionnalités du moteur de templates Mustache.
Exemple de modèle :
Hello {{payload}} !
3. Syntaxe
Définit la syntaxe du modèle :
- Mustache : Modèle Mustache.
- Texte brut : Chaîne de texte.
4. Sortie en tant que
Définit le format des données de sortie du noeud :
- Texte brut : Crée une chaîne de texte.
- JSON : Crée du JSON.
- YAML : Crée du YAML.
Caractéristiques de la syntaxe Mustache
-
Substitution de valeurs :
Utilise{{property}}
, oùproperty
est une propriété de l'objetmsg
.Exemple :
- Modèle :
Hello, {{name}}!
- Message :
{ "name": "Alice" }
- Résultat :
Hello, Alice!
- Modèle :
-
Affichage des conditions :
La logique conditionnelle est prise en charge par l'existence ou l'absence d'une valeur.Exemple :
{{#isOnline}}
<p>Statut : En ligne</p>
{{/isOnline}}
{{^isOnline}}
<p>Statut : Hors ligne</p>
{{/isOnline}} -
Boucles :
Il est possible d'itérer sur des tableaux.Exemple :
<ul>
{{#items}}
<li>{{.}}</li>
{{/items}}
</ul>Message :
{ "items": ["Item 1", "Item 2", "Item 3"] }
Résultat :
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul> -
Échappement HTML :
Mustache échappe par défaut les caractères spéciaux HTML.
Pour éviter l'échappement, utilisez{{{...}}}
.Exemple :
{{{htmlContent}}}
Données d'entrée
Le noeud accepte un objet msg
. Les données du message sont utilisées dans le modèle pour la substitution des valeurs.
Exemple de message :
{
"payload": {
"temperature": 22.5
},
"name": "Alice"
}
Données de sortie
Le noeud envoie un objet msg
, complété par le modèle traité. Le résultat est enregistré dans msg.payload
.
Exemples d'utilisation
Exemple 1 : Création d'une page HTML
Modèle :
<!DOCTYPE html>
<html>
<head>
<title>Rapport de Température</title>
</head>
<body>
<h1>Rapport de Température pour {{name}}</h1>
<p>Température actuelle : {{payload.temperature}}°C</p>
</body>
</html>
Message :
{
"payload": {
"temperature": 22.5
},
"name": "Alice"
}
Résultat :
Page HTML avec des données dynamiques.
Exemple 2 : Génération d'une réponse JSON
Modèle :
{
"status": "{{status}}",
"data": {
"temperature": {{payload.temperature}},
"humidity": {{payload.humidity}}
}
}
Message :
{
"status": "ok",
"payload": {
"temperature": 22.5,
"humidity": 60
}
}
Résultat :
{
"status": "ok",
"data": {
"temperature": 22.5,
"humidity": 60
}
}