الفرق بين المراجعتين لصفحة: «Twig/include function»

من موسوعة حسوب
1.0: إضافة عنوان الصفحة | 2.0 محتوى الصفحة
 
طلا ملخص تعديل
سطر 9: سطر 9:
</syntaxhighlight>وهنا لا يُسمح بالوصول إلى أي متغير:<syntaxhighlight lang="twig">
</syntaxhighlight>وهنا لا يُسمح بالوصول إلى أي متغير:<syntaxhighlight lang="twig">
{{ include('template.html', with_context = false) }}
{{ include('template.html', with_context = false) }}
</syntaxhighlight>إذا كان التعبير يقيَّم إلى نسخة  ‎<code>\Twig\Template</code> أو  ‎<code>\Twig\TemplateWrapper</code> فإن Twig يستخدمه مباشرة:<syntaxhighlight lang="twig">
</syntaxhighlight>إذا كان التعبير يقيَّم إلى نسخة  ‎<code>\Twig\Template</code> أو  ‎<code>\Twig\TemplateWrapper</code> فإن Twig يستخدمه مباشرة:<syntaxhighlight lang="php">
// {{ include(template) }}
// {{ include(template) }}


سطر 32: سطر 32:


== انظر أيضًا ==
== انظر أيضًا ==
* [[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]]
* [[ Twig/functions|الدوال في Twig]].
*[[ Twig/functions|الدوال في Twig]]
== المصادر ==
== المصادر ==
* [https://twig.symfony.com/doc/3.x/functions/include.html صفحة توثيق الدالة include في توثيق Twig الرسمي].
* [https://twig.symfony.com/doc/3.x/functions/include.html صفحة توثيق الدالة include في توثيق Twig الرسمي]


[[تصنيف:Twig]]
[[تصنيف:Twig]]
[[تصنيف:Twig Functions]]
[[تصنيف:Twig Functions]]

مراجعة 16:56، 5 مايو 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: وضع القالب في صندوق اختبار أم لا.

انظر أيضًا

المصادر