logologo
البدء
الدليل
التطوير
الإضافات
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
البدء
الدليل
التطوير
الإضافات
API
logologo
نظرة عامة
تعليمات الإعداد

بناء جملة القالب

الاستخدام الأساسي
معالجة التكرار

أدوات التنسيق

نظرة عامة
تنسيق النص
تنسيق الأرقام
تنسيق العملة
تنسيق التاريخ
تنسيق الفاصل الزمني
تنسيق المصفوفة

ميزات متقدمة

الحكم الشرطي
ميزات متقدمة
الأسئلة الشائعة
سيناريوهات التطبيق
Previous Pageمعالجة التكرار
Next Pageنظرة عامة
إشعار الترجمة بالذكاء الاصطناعي

تمت ترجمة هذه الوثائق تلقائيًا بواسطة الذكاء الاصطناعي.

#المُنسّقات

تُستخدم المُنسّقات لتحويل البيانات الأولية إلى نص سهل القراءة. تُطبّق على البيانات باستخدام النقطتين الرأسيتين (:)، ويمكن ربطها ببعضها بحيث يصبح خرج كل مُنسّق هو مُدخل المُنسّق التالي. تدعم بعض المُنسّقات معاملات ثابتة أو معاملات ديناميكية.

#نظرة عامة

#1. شرح الصيغة

الصيغة الأساسية لاستدعاء المُنسّق هي كالتالي:

{d.property:formatter1:formatter2(...)}

على سبيل المثال، في حالة تحويل السلسلة النصية "JOHN" إلى "John"، يُستخدم المُنسّق lowerCase أولاً لتحويل جميع الحروف إلى أحرف صغيرة، ثم يُستخدم ucFirst لجعل الحرف الأول كبيراً.

#2. مثال

البيانات:

{
  "name": "JOHN",
  "birthday": "2000-01-31"
}

القالب:

My name is {d.name:lowerCase:ucFirst}. I was born on {d.birthday:formatD(LL)}.

#3. النتيجة

بعد المعالجة، يكون الخرج:

My name is John. I was born on January 31, 2000.

#المعاملات الثابتة

#1. شرح الصيغة

تدعم العديد من المُنسّقات معاملًا ثابتًا واحدًا أو أكثر، تُفصل هذه المعاملات بفاصلات وتُوضع بين قوسين لتعديل الخرج. على سبيل المثال، سيضيف :prepend(myPrefix) النص "myPrefix" قبل النص الأصلي.
ملاحظة: إذا كان المعامل يحتوي على فواصل أو مسافات، فيجب وضعه بين علامتي اقتباس مفردتين، على سبيل المثال: prepend('my prefix').

#2. مثال

مثال القالب (راجع استخدام المُنسّق المحدد للحصول على التفاصيل).

#3. النتيجة

سيحتوي الخرج على البادئة المحددة مضافةً قبل النص.

#المعاملات الديناميكية

#1. شرح الصيغة

تدعم المُنسّقات أيضًا المعاملات الديناميكية. تبدأ هذه المعاملات بنقطة (.) ولا تُوضع بين علامتي اقتباس.
هناك طريقتان لتحديد المعاملات الديناميكية:

  • مسار JSON مطلق: يبدأ بـ d. أو c. (يشير إلى البيانات الجذرية أو البيانات التكميلية).
  • مسار JSON نسبي: يبدأ بنقطة واحدة (.)، مما يشير إلى البحث عن الخاصية من الكائن الأب الحالي.

على سبيل المثال:

{d.subObject.qtyB:add(d.subObject.qtyC)}

يمكن كتابته أيضًا كمسار نسبي:

{d.subObject.qtyB:add(.qtyC)}

إذا كنت بحاجة إلى الوصول إلى بيانات من مستوى أعلى (الأب أو ما فوقه)، يمكنك استخدام نقاط متعددة:

{d.subObject.qtyB:add(..qtyA):add(.qtyC)}

#2. مثال

البيانات:

{
  "id": 10,
  "qtyA": 20,
  "subObject": {
    "qtyB": 5,
    "qtyC": 3
  },
  "subArray": [{
    "id": 1000,
    "qtyE": 3
  }]
}

الاستخدام في القالب:

{d.subObject.qtyB:add(d.subObject.qtyC)}      // النتيجة: 8 (5 + 3)
{d.subObject.qtyB:add(.qtyC)}                   // النتيجة: 8
{d.subObject.qtyB:add(..qtyA):add(.qtyC)}        // النتيجة: 28 (5 + 20 + 3)
{d.subArray[0].qtyE:add(..subObject.qtyC)}       // النتيجة: 6 (3 + 3)

#3. النتيجة

تُعطي الأمثلة النتائج 8، 8، 28، و 6 على التوالي.

ملاحظة: لا يُسمح باستخدام المكررات المخصصة أو مُرشّحات المصفوفات كمعاملات ديناميكية، على سبيل المثال:

{d.subObject.qtyB:add(..subArray[i].qtyE)}
{d.subObject.qtyB:add(d.subArray[i].qtyE)}