وسوم التحكم في تدفق وسير التنفيذ في Liquid

من موسوعة حسوب
< Liquid
مراجعة 11:51، 5 أغسطس 2021 بواسطة جميل-بيلوني (نقاش | مساهمات) (مراجعة)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

تنشِئ وسوم التحكم في تدفق وسير التنفيذ Control flow tags الشروط التي تحدّد تنفيذ كتل شيفرة Liquid أم لا وتتحكم في تدفق سير تنفيذ الشيفرة.

الشرط if

ينفّذ هذا الوسم كتلة من الشيفرة إذا تحقق شرط معين فقط، أي إذا كانت قيمته true.

{% 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.

وسيكون ذلك مكافئًا لتنفيذ ما يلي:

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

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

يضيف هذا الوسم مزيدًا من الشروط ضمن كتلة if أو unless.

<!-- 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 لتنفيذ كتلة معينة من الشيفرة عندما يكون للمتغيّر قيمة محددة، إذ يهيّئ الوسم case العبارة التحويلية، وتحدّد عبارات when الشروط المختلفة.

توفّر عبارة else الاختيارية في نهاية case شيفرةً للتنفيذ إن لم يتحقّق أيّ من الشروط.

{% assign handle = "cake" %}
{% case handle %}
  {% 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

مصادر