مفهوم وسوم التكرار في لغة القوالب Liquid

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


وسوم التكرار Iteration في لغة Liquid

تدعم لغة القوالب (Liquid) مفهوم وسوم التكرار والتي تسمى ب (Iteration Tags) وهي عبارة عن منطق خاص بلغات البرمجة والذي يخبر القوالب بما يجب القيام به، وهناك مجموعة مختلفة من هذه الوسوم مثل وسوم التكرار ووسوم التحكم بتدفق البيانات، وفيما يلي أهم وسوم التكرار التي تسهل عمل المبرمجين وتوفر الكثير من الوقت والجهد:

وسم التكرار for

حيث يُستخدم هذا الوسم لتكرار تنفيذ أمر معين عدّة مرات، وفيما يلي مثال عليه في لغة (liquid):

{%forproductincollection. products%}{{product.title}}{%endfor%}
حيث سيكون ال (output) هو :
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 %}
حيث سيكون ال (output):
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 %}
حيث سيكون ال (output) على النحو التالي:
3 4 5 1 2 3 4

وسم التكرار Reversed

حيث يقوم هذا الوسم بعكس ترتيب الحلقة.


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