Aller au contenu principal

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

IMG2

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

  1. Substitution de valeurs :
    Utilise {{property}}, où property est une propriété de l'objet msg.

    Exemple :

    • Modèle : Hello, {{name}}!
    • Message : { "name": "Alice" }
    • Résultat : Hello, Alice!
  2. 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}}
  3. 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>
  4. É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
}
}