Liquid/control-flow

من موسوعة حسوب

الوسوم Tags ذات النوع Control flow

تنشِئ وسوم Control flow الشروط التي تحدّد تنفيذ كتل شيفرة 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

مصادر