الوسم with في Twig

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث

استخدم الوسم with لإنشاء نطاق داخلي جديد، ولا تكون المتغيرات المسندة في هذا النطاق مرئية لمن هو خارجه:

{% with %}
    {% set foo = 42 %}
    {{ foo }} {# foo is 42 here #}
{% endwith %}
foo is not visible here any longer

تستطيع تمرير جدول من المتغيرات التي تريد تعريفها في وسم with بدلًا من تعريف المتغيرات في بداية النطاق. فالمثال أدناه مكافئ للمثال السابق:

{% with { foo: 42 } %}
    {{ foo }} {# foo is 42 here #}
{% endwith %}
foo is not visible here any longer

{# it works with any expression that resolves to a hash #}
{% set vars = { foo: 42 } %}
{% with vars %}
    ...
{% endwith %}

يكون للنطاق الداخلي وصول إلى سياق النطاق الخارجي افتراضيًا، وتستطيع تعطيل هذا السلوك بإلحاق كلمة only المفتاحية:

{% set bar = 'bar' %}
{% with { foo: 42 } only %}
    {# only foo is defined #}
    {# bar is not defined #}
{% endwith %}

انظر أيضًا

المصادر