مقدمة للتعبيرات الديناميكية
تتيح التعبيرات الديناميكية لك إنشاء محتوى مخصص ومستند إلى البيانات في مساحة العمل الخاصة بك. من خلال الجمع بين متغيرات البيانات والترجمات المخصصة والصيغ، يمكنك جعل المحتوى الخاص بك أكثر ديناميكية ومصممة خصيصًا لجمهورك.
على سبيل المثال، يمكنك عرض رسالة مخصصة عن طريق الكتابة:
"مرحباً بعودتك، {{ sessionUser.name }}!"
هذا يسحب اسم المستخدم مباشرة إلى الرسالة.
للسماح لنظامنا بملء البيانات ولجعلها مختلفة بصريًا عن المحتوى الآخر، يتم دائمًا إحاطة التعبيرات الديناميكية بأقواس متعرجة مزدوجة: {{ ... }}.
كتابة تعبيرك الديناميكي الأول

- انتقل إلى حقل نصي حيث يُسمح بالتعبيرات (على سبيل المثال، سؤال في جمع الأفكار).
- اكتب { لإظهار قائمة بالمتغيرات والوظائف المتاحة.
- حدد اقتراحًا أو اكتب تعبيرك الخاص.
- أضف عوامل التشغيل والوظائف حسب الحاجة.
- انقر بعيدًا لترى تعبيرك الديناميكي قيد العمل.
ستقوم العديد من حقول النص على الفور بحساب وعرض النتيجة لتقييم جميع التعبيرات الديناميكية بداخلها، المتعلقة بك وبياناتك الخاصة، بعد أن تفقد التركيز. تحقق مما إذا كنت تحصل على النتيجة التي تتوقعها. ولا تقلق، لم تفقد أي شيء كتبته - إذا نقرت على حقل النص مرة أخرى، فسترى تعبيراتك الديناميكية تظهر مرة أخرى، ويمكنك متابعة تحريرها.
أنواع التعبيرات الديناميكية
تتكون التعبيرات الديناميكية من مكونات مختلفة تعمل معًا لعرض نتائج مخصصة أو محسوبة.
متغيرات البيانات

متغيرات البيانات تمثل بيانات خاصة بمساحة العمل الخاصة بك، مثل أسماء المستخدمين، أعداد الأفكار، أو قيم النماذج.
- مثال:
{{sessionUser.name}}قد يظهر كـ "John Doe."
متغيرات الترجمة المخصصة

متغيرات الترجمة المخصصة هي مفاتيح توطين قابلة للتخصيص يمكنك إنشاؤها واستخدامها عبر منصتك لعرض المحتوى الخاص بك بلغات مختلفة. عند الاستخدام، بناءً على اللغة التي حددها المستخدم الزائر في ملفه الشخصي، ستعرض المحتوى بلغة المستخدم إذا قمت بتحديد ترجمة لتلك اللغة.
- مثال:
{{translate:custom.greeting}}يعرض نسخة مترجمة من نص التحية الخاص بك.
الوظائف

الوظائف تؤدي إجراءات مثل تحويل البيانات أو إجراء العمليات الحسابية. في القائمة، ستظهر توقيعًا لما هي الوسائط التي يجب تمريرها إليها، بالإضافة إلى أنواع البيانات المتوقعة لها. على سبيل المثال، تتوقع دالة UPPERCASE() تلقي نص. بعد ذلك، ستعرض وصفًا لما تفعله الوظيفة، بالإضافة إلى مثال على كيفية استخدامها.
- مثال:
{{ UPPERCASE(sessionUser.name) }}يحول اسم المستخدم إلى أحرف كبيرة.
عوامل التشغيل
عوامل التشغيل تُستخدم للعمليات الحسابية والمقارنات.
- حسابية:
+,-,*,/ - منطقية:
&&(AND),||(OR) - مقارنة:
==,!=,>,< - شرطية:
? - مثال:
{{ sessionUser.stats.likes > 10 ? "مساهم مميز" : "مبتدئ" }}يعرض "مساهم مميز" إذا تجاوز عدد الإعجابات 10، وإلا "مبتدئ".
القيم الحرفية
القيم الحرفية أو "القيم الخام"، مثل الأرقام أو النصوص أو القيم المنطقية، يمكن استخدامها بحرية داخل التعبير الديناميكي أيضًا.
- مثال:
{{ 5 }}أو{{ "Hello, world!" }}أو{{ true }}
معالجة الأخطاء

نظرًا لأن التعبيرات الديناميكية مرنة للغاية وتمنحك الكثير من الحرية، يمكن أن تتعطل بسهولة أيضًا، وأحيانًا بطرق قد لا تتوقعها. على سبيل المثال، قد ينتهي بك الأمر إلى:
- قسمة عدد على صفر.
- نسيان قوس إغلاق في مكان ما في تعبيرك.
- الإشارة إلى متغير ترجمة مخصص غير موجود (أو محذوف).
- محاولة تحويل قيمة غير نصية، مثل رقم، إلى أحرف كبيرة عن طريق الخطأ.
لحسن الحظ، إذا وجدت نفسك في مثل هذه المواقف، فإن التعبيرات الديناميكية التي لم يتم حسابها بشكل صحيح يسهل التعرف عليها، وستعرض لك بالضبط أين وما هي المشكلة، عند التمرير فوقها.
إليك بعض الأمور التي يجب مراعاتها أثناء كتابة التعبيرات الديناميكية لتقليل احتمالية الوقوع في الأخطاء:
- تأكد من عد عدد الأقواس التي تستخدمها، خاصة عندما تجمع بين وظائف متعددة.
- عند إجراء القسمة، وخاصة عندما يكون المقسوم عليه مبنيًا على متغير بيانات، تأكد من مراعاة الحالات التي قد يكون فيها المقسوم عليه صفرًا. يمكنك استخدام دالة MAX() للتأكد من أن القيمة لا تقل عن 1 أبدًا. على سبيل المثال، تأكد من حد أدنى 1 مثل:
{{ 2 / MAX(sessionUser.stats.likes, 1) }}.
تأكد من التحقق المزدوج من الأنواع المتوقعة للوسائط للوظائف التي تستخدمها، بالإضافة إلى الترتيب الذي تتوقعه بها.
على سبيل المثال، {{ UPPERCASE(2) }} سيفشل، لأن UPPERCASE() كانت تتوقع نصًا، ولكنها أعطيت رقمًا.
أمثلة بسيطة للتعبيرات الديناميكية
- عملية حسابية بسيطة:
{{ 2 + 3 }}تعرض 5. - رسالة مخصصة: مرحباً
{{sessionUser.name }}تعرض تحية مخصصة. - عرض شرطي:
{{ ideaCollection.stats.ideas.total > 50 ? "لقد حققنا هدفنا!" : "نحتاج إلى المزيد من الأفكار!" }}يتكيف بناءً على تفاعل الأفكار.
من خلال الجمع بين هذه المكونات، يمكنك إنشاء تجارب قوية ومخصصة لمستخدمي مساحة العمل الخاصة بك.