الفرق بين المراجعتين ل"Twig/filter"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(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: الدالة السهمية.

انظر أيضًا

المصادر