ما هي وسوم التحكم في تدفق وتنفيذ العمليات في لغة القوالب Liquid

اقرأ في هذا المقال


ما هي وسوم التحكم في تدفق وتنفيذ العمليات في لغة القوالب Liquid

تدعم لغة القوالب ( liquid template language) مفهوم وسوم التحكم والتي تسمى ب (Control flow tags)، حيث تقوم هذه الوسوم في التحكم في تدفق وسير تنفيذ الكود البرمجي، وكما تتحكم بتنفيذ الشروط حيث أن آلية عملها تقوم على إنشاء علامات تدفق والتي تحدد ما إذا كان سيتم تنفيذ الكودات البرمجية أم لا، وهناك مجموعة من هذه الوسوم بهذه اللغة وفيما يلي أهمها:

وسم التحكم If

يقوم هذا الوسم بتنفيذ كود معين في حال تحقق شرط مُحدد مسبقاً من قبل المبرمج، وفيما يلي مثال على هذا الوسم:

{% if product .title == "Awesome Shoes" %} These shoes are awesome! {% endif %}

حيث ستكون النتيجة على النحو التالي:

These shoes are awesome! 

وسم عدم التحقق unless

ويُعد هذا الوسم عكس الوسم (if) حيث يقوم بتنفيذ كود برمجي معين في حال لم يتحقّق شرط معين، وفيما يلي مثال على ذلك:

{% unless product. title == "Awesome Shoes" %} These shoes are not awesome. {% endunless %}
حيث ستكون النتيجة على النحو التالي:
These shoes are not awesome. 

الشرط المتعدد elsif و else

حيث يستخدم هذا الوسم لإضافة المزيد من الشروط ضمن كتلة (if) أو (unless)، وفيما يلي مثال على هذا الوسم في لغة (Liquid):

<!-- If customer.name = "anonymous" --> {% if customer.name == "kevin" %} Hey Kevin! {% elsif customer.name == "anonymous" %} Hey Anonymous! {% else %} Hi Stranger! {% endif %}
حيث ستكون النتيجة على النحو التالي:
Hey Anonymous! 

الشرط  case و when

يُستخدم هذا الوسم لإنشاء عبارات تبديلية (switch statement)، حيث يتم تنفيذ كود معين عندما يكون للمتغير قيمة محددة، حيث تقوم عبارات (when) بتحديد الشروط المختلفة، وتوفّر عبارة (else) الاختيارية في نهاية جملة (case) كود معين للتنفيذ في حال لم يتحقّق أيّ من الشروط، وفيما يلي مثال على استخدام هذه الوسم:

{%assignhandle="cake"%}{%casehandle%}{%when"cake"%} This is a cake {%when"cookie","biscuit"%} This is a cookie {%else%} This is not a cake nor a cookie {%endcase%}

حيث ستكون النتيجة على النحو التالي:

This is a cake 

المصدر: Control flowControl flow tagsLiquid - Tags: Flow ControlLiquid control flow tags {% for %} and {% else %}


شارك المقالة: