الفرق بين المراجعتين ل"Twig/include function"
جميل-بيلوني (نقاش | مساهمات) ط |
جميل-بيلوني (نقاش | مساهمات) ط |
||
سطر 19: | سطر 19: | ||
</syntaxhighlight>يمكن توفير قائمة من القوالب التي يُتحقق من وجودها قبل الإدراج، ويُخرَج أول قالب موجود:<syntaxhighlight lang="twig"> | </syntaxhighlight>يمكن توفير قائمة من القوالب التي يُتحقق من وجودها قبل الإدراج، ويُخرَج أول قالب موجود:<syntaxhighlight lang="twig"> | ||
{{ include(['page_detailed.html', 'page.html']) }} | {{ include(['page_detailed.html', 'page.html']) }} | ||
− | </syntaxhighlight>إذا تم تعيين <code>ignore_missing</code> فإنه لا يخرِج شيئًا إذا لم يكن أي من القوالب موجودًا، وإلا فإنه يرفع اعتراضًا | + | </syntaxhighlight>إذا تم تعيين <code>ignore_missing</code> فإنه لا يخرِج شيئًا إذا لم يكن أي من القوالب موجودًا، وإلا فإنه يرفع اعتراضًا exception. إذا أنشأ المستخدم النهائي القالب فيجب وضعه في صندوق اختبار sand box قبل إدراجه:<syntaxhighlight lang="twig"> |
{{ include('page.html', sandboxed = true) }} | {{ include('page.html', sandboxed = true) }} | ||
</syntaxhighlight> | </syntaxhighlight> |
المراجعة الحالية بتاريخ 06:32، 11 مايو 2021
تعيد الدالة include
المحتوى المُخرَج لقالب ما:
{{ include('template.html') }}
{{ include(some_var) }}
يكون للقوالب المدرَجة وصول إلى متغيرات السياق النشط، وإذا كنت تستخدم محمِّل نظام الملفات فيُبحث حينها عن القوالب في المسارات المعرفة به. كذلك يُمرَّر السياق افتراضيًا إلى القالب لكن يمكن تمرير متغيرات إضافية. انظر المثال أدناه حيث يكون لـ template.html
وصول إلى المتغيرات التي في السياق الحالي والمتغيرات الإضافية التي تم توفيرها:
{{ include('template.html', {foo: 'bar'}) }}
يمكن تعطيل الوصول إلى السياق بضبط with_context
على false
، انظر المثال التالي حيث لا يُسمح بالوصول إلا إلى المتغير foo
:
{{ include('template.html', {foo: 'bar'}, with_context = false) }}
وهنا لا يُسمح بالوصول إلى أي متغير:
{{ include('template.html', with_context = false) }}
إذا كان التعبير يقيَّم إلى نسخة \Twig\Template
أو \Twig\TemplateWrapper
فإن Twig يستخدمه مباشرة:
// {{ include(template) }}
$template = $twig->load('some_template.twig');
$twig->display('template.twig', ['template' => $template]);
عند تعيين راية ignore_missing
فإن Twig يعيد سلسلة نصية فارغة إذا لم يكن القالب موجودًا:
{{ include('sidebar.html', ignore_missing = true) }}
يمكن توفير قائمة من القوالب التي يُتحقق من وجودها قبل الإدراج، ويُخرَج أول قالب موجود:
{{ include(['page_detailed.html', 'page.html']) }}
إذا تم تعيين ignore_missing
فإنه لا يخرِج شيئًا إذا لم يكن أي من القوالب موجودًا، وإلا فإنه يرفع اعتراضًا exception. إذا أنشأ المستخدم النهائي القالب فيجب وضعه في صندوق اختبار sand box قبل إدراجه:
{{ include('page.html', sandboxed = true) }}
الوسائط
template
: القالب الذي يجب إخراجه.variables
: القوالب التي يجب تمريرها إلى القالب.with_context
: تمرير متغيرات السياق الحالي أم لا.ignore_missing
: تجاهل القوالب المفقودة أم لا.sandboxed
: وضع القالب في صندوق اختبار أم لا.
انظر أيضًا
- مقدمة عن محرك القوالب Twig
- توسيع Twig
- المكونات الداخلية لـ Twig
- الوسوم في Twig
- المرشحات في Twig
- الدوال في Twig