العقدة template
تُنشئ عقدة template البيانات وفق قالب تحدده. يمكنك بها إنشاء سلاسل نصية وHTML وJSON وتنسيقات أخرى، مع إدراج قيم ديناميكية من الرسالة msg أو من مصادر أخرى.
إعدادات عقدة template

1. Name
اسم العقدة.
يظهر الاسم في مساحة العمل ويساعدك على تمييز العقدة.
إذا تركت الحقل فارغًا، فسيكون اسم العقدة template.
مثال:
- اسم العقدة:
hello world
2. Template
الحقل الرئيسي الذي تكتب فيه نص القالب.
يدعم إدراج البيانات باستخدام الأقواس المعقوفة ({{...}}) وإمكانات محرك القوالب Mustache.
مثال على قالب:
Hello {{payload}} !
3. Syntax
يحدد صيغة القالب:
- Mustache: قالب Mustache.
- Plain Text: سلسلة نصية.
4. Output As
يحدد تنسيق مخرجات العقدة:
- Plain Text: ينشئ سلسلة نصية.
- JSON: ينشئ JSON.
- YAML: ينشئ YAML.
خصائص صيغة Mustache
-
إدراج القيم:
استخدم{{property}}، حيثpropertyخاصية من خصائص الكائنmsg.مثال:
- القالب:
Hello, {{name}}! - الرسالة:
{ "name": "Alice" } - النتيجة:
Hello, Alice!
- القالب:
-
العرض الشرطي:
يعتمد المنطق الشرطي على وجود القيمة أو غيابها.مثال:
{{#isOnline}}<p>Status: Online</p>{{/isOnline}}{{^isOnline}}<p>Status: Offline</p>{{/isOnline}} -
الحلقات:
يمكنك المرور على عناصر المصفوفات.مثال:
<ul>{{#items}}<li>{{.}}</li>{{/items}}</ul>الرسالة:
{ "items": ["Item 1", "Item 2", "Item 3"] }النتيجة:
<ul><li>Item 1</li><li>Item 2</li><li>Item 3</li></ul> -
تهريب HTML:
يُهرّب Mustache افتراضيًا الأحرف الخاصة في HTML.
لتعطيل التهريب، استخدم{{{...}}}.مثال:
{{{htmlContent}}}
المدخلات
تستقبل العقدة الكائن msg، وتُستخدم بيانات الرسالة لإدراج القيم في القالب.
مثال على رسالة:
{
"payload": {
"temperature": 22.5
},
"name": "Alice"
}
المخرجات
ترسل العقدة الكائن msg بعد إضافة القالب المعالَج إليه، وتُكتب النتيجة في msg.payload.
أمثلة الاستخدام
المثال 1: إنشاء صفحة HTML
القالب:
<!DOCTYPE html>
<html>
<head>
<title>Temperature Report</title>
</head>
<body>
<h1>Temperature Report for {{name}}</h1>
<p>Current temperature: {{payload.temperature}}°C</p>
</body>
</html>
الرسالة:
{
"payload": {
"temperature": 22.5
},
"name": "Alice"
}
النتيجة:
صفحة HTML ببيانات ديناميكية.
المثال 2: إنشاء استجابة JSON
القالب:
{
"status": "{{status}}",
"data": {
"temperature": {{payload.temperature}},
"humidity": {{payload.humidity}}
}
}
الرسالة:
{
"status": "ok",
"payload": {
"temperature": 22.5,
"humidity": 60
}
}
النتيجة:
{
"status": "ok",
"data": {
"temperature": 22.5,
"humidity": 60
}
}