الفرق بين المراجعتين لصفحة: «Twig/sort»
< Twig
أسامه-دمراني (نقاش | مساهمات) 1.0: إضافة عنوان الصفحة | 2.0 محتوى الصفحة |
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: المرشح sort في Twig}}</noinclude> | |||
المرشح <code>sort</code> | المرشح <code>sort</code> يرتب عناصر مصفوفة: <syntaxhighlight lang="twig"> | ||
{% for user in users|sort %} | {% for user in users|sort %} | ||
... | ... | ||
{% endfor %} | {% endfor %} | ||
</syntaxhighlight>لاحظ أن Twig يستخدم دالة [ | </syntaxhighlight>لاحظ أن Twig يستخدم دالة <code>[[PHP/asort|asort]]</code> الخاصة بلغة [[PHP]] للحفاظ على ارتباط الفهرس، ويدعم الكائنات القابلة للمرور على عناصرها (traversable) عن طريق تحويلها إلى مصفوفات. يمكن تمرير دالة سهمية لتصنيف المصفوفة:<syntaxhighlight lang="twig"> | ||
{% set fruits = [ | {% set fruits = [ | ||
{ name: 'Apples', quantity: 5 }, | { name: 'Apples', quantity: 5 }, | ||
سطر 23: | سطر 23: | ||
== انظر أيضًا == | == انظر أيضًا == | ||
* [[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]] | ||
== المصادر == | == المصادر == | ||
* [https://twig.symfony.com/doc/3.x/filters/sort.html صفحة | * [https://twig.symfony.com/doc/3.x/filters/sort.html صفحة المرشح sort في توثيق Twig الرسمي] | ||
[[تصنيف:Twig]] | [[تصنيف:Twig]] | ||
[[تصنيف:Twig Filters]] | [[تصنيف:Twig Filters]] |
مراجعة 08:04، 6 مايو 2021
المرشح sort
يرتب عناصر مصفوفة:
{% for user in users|sort %}
...
{% endfor %}
لاحظ أن Twig يستخدم دالة asort
الخاصة بلغة PHP للحفاظ على ارتباط الفهرس، ويدعم الكائنات القابلة للمرور على عناصرها (traversable) عن طريق تحويلها إلى مصفوفات. يمكن تمرير دالة سهمية لتصنيف المصفوفة:
{% set fruits = [
{ name: 'Apples', quantity: 5 },
{ name: 'Oranges', quantity: 2 },
{ name: 'Grapes', quantity: 4 },
] %}
{% for fruit in fruits|sort((a, b) => a.quantity <=> b.quantity)|column('name') %}
{{ fruit }}
{% endfor %}
{# output in this order: Oranges, Grapes, Apples #}
يُستخدم العامل spaceship
في المثال السابق من أجل تبسيط الموازنة.
الوسائط
arrow
: دالة سهمية.