الفرق بين المراجعتين لصفحة: «Twig/filter»
< Twig
أسامه-دمراني (نقاش | مساهمات) 2.0 محتوى الصفحة |
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
||
(1 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: المرشح filter في Twig}}</noinclude> | <noinclude>{{DISPLAYTITLE: المرشح filter في Twig}}</noinclude> | ||
المرشح <code>filter</code> يرشح العناصر من تسلسل أو ربط mapping باستخدام دالة سهمية تستقبل القيمة من ذلك التسلسل أو الربط: | |||
{{DISPLAYTITLE: المرشح filter في Twig}}<syntaxhighlight lang="twig"> | |||
{% set sizes = [34, 36, 38, 40, 42] %} | {% set sizes = [34, 36, 38, 40, 42] %} | ||
{{ sizes|filter(v => v > 38)|join(', ') }} | {{ sizes|filter(v => v > 38)|join(', ') }} | ||
{# output 40, 42 #} | {# output 40, 42 #} | ||
</syntaxhighlight> | </syntaxhighlight>وهو يسمح -مع الوسم <code>[[Twig/for|for]]</code>- بترشيح العناصر التي يراد التكرار عليها: | ||
{{DISPLAYTITLE: المرشح filter في Twig}}<syntaxhighlight lang="twig"> | |||
{% for v in sizes|filter(v => v > 38) -%} | {% for v in sizes|filter(v => v > 38) -%} | ||
{{ v }} | {{ v }} | ||
سطر 37: | سطر 39: | ||
== انظر أيضًا == | == انظر أيضًا == | ||
* [[Twig/intro|مقدمة عن محرك القوالب Twig | * [[Twig/intro|مقدمة عن محرك القوالب Twig]] | ||
* [[Twig/advanced|توسيع Twig | * [[Twig/advanced|توسيع Twig]] | ||
* [[Twig/internals|المكونات الداخلية لـ Twig | * [[Twig/internals|المكونات الداخلية لـ Twig]] | ||
* [[Twig/tags|الوسوم في Twig]] | * [[Twig/tags|الوسوم في Twig]] | ||
* [[ Twig/filters|المرشحات في Twig]] | * [[ Twig/filters|المرشحات في Twig]] |
المراجعة الحالية بتاريخ 06:18، 11 مايو 2021
المرشح filter
يرشح العناصر من تسلسل أو ربط mapping باستخدام دالة سهمية تستقبل القيمة من ذلك التسلسل أو الربط:
{% set sizes = [34, 36, 38, 40, 42] %}
{{ sizes|filter(v => v > 38)|join(', ') }}
{# output 40, 42 #}
وهو يسمح -مع الوسم for
- بترشيح العناصر التي يراد التكرار عليها:
{% for v in sizes|filter(v => v > 38) -%}
{{ v }}
{% endfor %}
{# output 40 42 #}
كما يعمل مع الربط أيضًا:
{% set sizes = {
xs: 34,
s: 36,
m: 38,
l: 40,
xl: 42,
} %}
{% for k, v in sizes|filter(v => v > 38) -%}
{{ k }} = {{ v }}
{% endfor %}
{# output l = 40 xl = 42 #}
تستقبل الدالة السهمية المفتاح كوسيط ثاني:
{% for k, v in sizes|filter((v, k) => v > 38 and k != "xl") -%}
{{ k }} = {{ v }}
{% endfor %}
{# output l = 40 #}
لاحظ أن الدالة السهمية لها وصول إلى السياق الحالي.
الوسائط
array
: التسلسل أو الربط.arrow
: الدالة السهمية.