وسوم التكرار Iteration في لغة Liquid
تدعم لغة القوالب (Liquid) مفهوم وسوم التكرار والتي تسمى ب (Iteration Tags) وهي عبارة عن منطق خاص بلغات البرمجة والذي يخبر القوالب بما يجب القيام به، وهناك مجموعة مختلفة من هذه الوسوم مثل وسوم التكرار ووسوم التحكم بتدفق البيانات، وفيما يلي أهم وسوم التكرار التي تسهل عمل المبرمجين وتوفر الكثير من الوقت والجهد:
وسم التكرار for
حيث يُستخدم هذا الوسم لتكرار تنفيذ أمر معين عدّة مرات، وفيما يلي مثال عليه في لغة (liquid):
{%forproductincollection. products%}{{product.title}}{%endfor%}
hat shirt pants
وسم التكرار else
حيث يحدد هذا الوسم حالة احتياطية لحلقة (for)، والتي سيتم تنفيذها إذا كانت طول الحلقة (zero)، وفيما يلي مثال عليها:
{% for product in collection.products %} {{ product. title }} {% else %} The collection is empty. {% endfor %}
حيث سيكون ال (output):
The collection is empty.
وسم التكرار break
يستخدم هذا الوسم بتوقيف تكرار الحلقة، وفيما يلي مثال على استخدامها:
{% for i in (1..5) %} {% if i == 4 %} {% break %} {% else %} {{ i }} {% endif %} {% endfor %}
1 2 3
وسم التكرار continue
حيث عند تنفيذ هذا الوسم سيتم تخطي التكرار الحالي للحلقة، وفيما يلي مثال على استخدامها:
{%for i in (1..5) %}{%ifi==4%}{%continue%}{%else%}{{i}}{%endif%}{%endfor%}
1 2 3 5
وسم التكرار limit
حيث يقوم هذا الوسم بتقييد الحلقة بعدد محدّد من التكرارات، وفيما يلي مثال عليه:
<!-- if array = [1,2,3,4,5,6] --> {%for item in array limit:2%}{{item}}{%endfor%}
1 2
وسم التكرار offset
حيث يقوم هذا الوسم بجعل الحلقة تبدأ من عند فهرس محدد (specified index)، وفيما يلي مثال عليها:
<!-- if array = [1,2,3,4,5,6] --> {% for item in array offset:2 %} {{ item }} {% endfor %}
حيث سيكون ال (output) على النحو التالي:
3 4 5 6
وسم التكرار Range
يُستخدم هذا الوسم لتحديد مجال معين من الأعداد لتكرارها، حيث يمكن تحديد المجال من خلال المتغيرات العددية وفيما يلي مثال عليها:
{% for i in (3..5) %} {{ i }} {% endfor %} {% assign num = 4 %} {% assign range = (1..num) %} {% for i in range %} {{ i }} {% endfor %}
3 4 5 1 2 3 4
وسم التكرار Reversed
حيث يقوم هذا الوسم بعكس ترتيب الحلقة.