الفرق بين المراجعتين ل"Twig/filter"
< Twig
اذهب إلى التنقل
اذهب إلى البحث
أسامه-دمراني (نقاش | مساهمات) (1.0: إضافة عنوان الصفحة.) |
أسامه-دمراني (نقاش | مساهمات) (2.0 محتوى الصفحة) |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: المرشح filter في Twig}}</noinclude> | <noinclude>{{DISPLAYTITLE: المرشح filter في Twig}}</noinclude> | ||
+ | ال{{DISPLAYTITLE: المرشح filter في Twig}}مرشح <code>filter</code> يرشح العناصر من تسلسل أو ربط (mapping) باستخدام دالة سهمية تستقبل القيمة من ذلك التسلسل أو الربط:<syntaxhighlight lang="twig"> | ||
+ | {% set sizes = [34, 36, 38, 40, 42] %} | ||
+ | |||
+ | {{ sizes|filter(v => v > 38)|join(', ') }} | ||
+ | {# output 40, 42 #} | ||
+ | </syntaxhighlight>وه{{DISPLAYTITLE: المرشح filter في Twig}}و يسمح -مع الوسم <code>for</code>- بترشيح العناصر التي يراد التكرار عليها:<syntaxhighlight lang="twig"> | ||
+ | {% for v in sizes|filter(v => v > 38) -%} | ||
+ | {{ v }} | ||
+ | {% endfor %} | ||
+ | {# output 40 42 #} | ||
+ | </syntaxhighlight>كما يعمل مع الربط أيضًا:<syntaxhighlight lang="twig"> | ||
+ | {% 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 #} | ||
+ | </syntaxhighlight>تستقبل الدالة السهمية المفتاح كوسيط ثاني:<syntaxhighlight lang="twig"> | ||
+ | {% for k, v in sizes|filter((v, k) => v > 38 and k != "xl") -%} | ||
+ | {{ k }} = {{ v }} | ||
+ | {% endfor %} | ||
+ | {# output l = 40 #} | ||
+ | </syntaxhighlight> | ||
+ | <blockquote>لاحظ أن الدالة السهمية لها وصول إلى السياق الحالي.</blockquote> | ||
+ | |||
+ | == الوسائط == | ||
+ | |||
+ | * <code>array</code>: التسلسل أو الربط. | ||
+ | * <code>arrow</code>: الدالة السهمية. | ||
+ | |||
+ | == انظر أيضًا == | ||
+ | * [[Twig/intro|مقدمة عن محرك القوالب Twig.]] | ||
+ | * [[Twig/advanced|توسيع Twig.]] | ||
+ | * [[Twig/internals|المكونات الداخلية لـ Twig.]] | ||
+ | * [[Twig/tags|الوسوم في Twig]] | ||
+ | * [[ Twig/filters|المرشحات في Twig]] | ||
+ | == المصادر == | ||
+ | * [https://twig.symfony.com/doc/3.x/filters/filter.html صفحة توثيق المرشح filter في توثيق Twig الرسمي]. | ||
+ | |||
+ | [[تصنيف:Twig]] | ||
+ | [[تصنيف:Twig Filters]] |
مراجعة 14:41، 2 مايو 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
: الدالة السهمية.