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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(1.0: إضافة عنوان الصفحة.)
 
(إدخال 2.0 تمام المحتوى وانظر أيضًا والتصانيف والمصادر.)
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE: الوسم set في Twig}}</noinclude>
 
<noinclude>{{DISPLAYTITLE: الوسم set في Twig}}</noinclude>
 +
تس{{DISPLAYTITLE: الوسم set في Twig}}تطيع إسناد القيم إلى المتغيرات داخل كتل الشيفرات، وتستخدم الإسنادات وسم <code>set</code> ويمكن أن يكون لها أهداف متعددة. انظر المثال التالي على إسناد قيمة <code>bar</code> إلى المتغير <code>foo</code>:<syntaxhighlight lang="twig">
 +
{% set foo = 'bar' %}
 +
 +
</syntaxhighlight>بعد استدعاء <code>set</code>، يكون المتغير <code>foo</code> متاحًا في القالب كأي متغير آخر:  <syntaxhighlight lang="twig">
 +
{# displays bar #}
 +
{{ foo }}
 +
</syntaxhighlight>يمكن للقيمة المسندة أن تكون أي تعبير Twig صالح:<syntaxhighlight lang="twig">
 +
{% set foo = [1, 2] %}
 +
{% set foo = {'foo': 'bar'} %}
 +
{% set foo = 'foo' ~ 'bar' %}
 +
</syntaxhighlight>كذلك يمكن إسناد عدة متغيرات في كتلة واحدة:<syntaxhighlight lang="twig">
 +
{% set foo, bar = 'foo', 'bar' %}
 +
 +
{# is equivalent to #}
 +
 +
{% set foo = 'foo' %}
 +
{% set bar = 'bar' %}
 +
</syntaxhighlight>يمكن استخدام الوسم <code>set</code> لالتقاط أجزاء من النصوص:<syntaxhighlight lang="twig">
 +
{% set foo %}
 +
    <div id="pagination">
 +
        ...
 +
    </div>
 +
{% endset %}
 +
</syntaxhighlight><blockquote>'''تحذير'''
 +
 +
إذا فعّلت التهريب التلقائي للخرج فإن Twig لن يعد المحتوى آمنًا إلا عند التقاط أجزاء من النص.</blockquote>لاحظ أن الحلقات التكرارية محددة في Twig بمعنى أن أي متغير مصرح عنه في حلقة <code>for</code> لن يمكن الوصول إليه من خارج الحلقة:<syntaxhighlight lang="twig">
 +
{% for item in list %}
 +
    {% set foo = item %}
 +
{% endfor %}
 +
 +
{# foo is NOT available #}
 +
</syntaxhighlight>إذا أردت الوصول إلى المتغير فصرح عنه قبل الحلقة:<syntaxhighlight lang="twig">
 +
{% set foo = "" %}
 +
{% for item in list %}
 +
    {% set foo = item %}
 +
{% endfor %}
 +
 +
{# foo is available #}
 +
</syntaxhighlight>
 +
 +
== انظر أيضًا ==
 +
[[Twig/intro|مقدمة عن محرك القوالب Twig]].
 +
 +
== المصادر ==
 +
[https://twig.symfony.com/doc/3.x/tags/set.html صفحة الوسم set من توثيق Twig الرسمي.]
 +
[[تصنيف:Twig]]
 +
[[تصنيف:Twig Tags]]

مراجعة 04:19، 27 أبريل 2021

تستطيع إسناد القيم إلى المتغيرات داخل كتل الشيفرات، وتستخدم الإسنادات وسم set ويمكن أن يكون لها أهداف متعددة. انظر المثال التالي على إسناد قيمة bar إلى المتغير foo:

{% set foo = 'bar' %}

بعد استدعاء set، يكون المتغير foo متاحًا في القالب كأي متغير آخر:

{# displays bar #}
{{ foo }}

يمكن للقيمة المسندة أن تكون أي تعبير Twig صالح:

{% set foo = [1, 2] %}
{% set foo = {'foo': 'bar'} %}
{% set foo = 'foo' ~ 'bar' %}

كذلك يمكن إسناد عدة متغيرات في كتلة واحدة:

{% set foo, bar = 'foo', 'bar' %}

{# is equivalent to #}

{% set foo = 'foo' %}
{% set bar = 'bar' %}

يمكن استخدام الوسم set لالتقاط أجزاء من النصوص:

{% set foo %}
    <div id="pagination">
        ...
    </div>
{% endset %}

تحذير إذا فعّلت التهريب التلقائي للخرج فإن Twig لن يعد المحتوى آمنًا إلا عند التقاط أجزاء من النص.

لاحظ أن الحلقات التكرارية محددة في Twig بمعنى أن أي متغير مصرح عنه في حلقة for لن يمكن الوصول إليه من خارج الحلقة:

{% for item in list %}
    {% set foo = item %}
{% endfor %}

{# foo is NOT available #}

إذا أردت الوصول إلى المتغير فصرح عنه قبل الحلقة:

{% set foo = "" %}
{% for item in list %}
    {% set foo = item %}
{% endfor %}

{# foo is available #}

انظر أيضًا

مقدمة عن محرك القوالب Twig.

المصادر

صفحة الوسم set من توثيق Twig الرسمي.