Twig: أسماء الكتل الديناميكية

تم إنشاؤها على ١٢ أبريل ٢٠١١  ·  7تعليقات  ·  مصدر: twigphp/Twig

استخدام المتغيرات لأسماء الكتل لا يعمل.

{٪ set block_name = "my_block_name"٪}

{٪ block_name٪}
بعض أتش تي أم أل ...
{٪ endblock٪}

التعليق الأكثر فائدة

تعتبر أسماء الكتل جزءًا من بنية القالب ، ولذا يجب أن تكون معروفة في وقت الترجمة.
المتغيرات معروفة فقط في وقت التشغيل.

ال 7 كومينتر

لأن block_name ممثلة كسلسلة 'block_name'

آسف ، أنت تقول أنه لا يمكنك الحصول على كتل ديناميكية مع غصين أو أنني أستخدمها بطريقة خاطئة؟

أنت على حق ، لا توجد أسماء كتلة ديناميكية

لا يمكنك استخدام الكتل الديناميكية. انشر حالة الاستخدام الخاصة بك على القائمة البريدية لمستخدمي Twig.

آسف لفتح قضية باردة ^^. أعتقد أنني قد واجهت حالة استخدام من شأنها أن تستفيد من أسماء الكتل الديناميكية ...

أستخدم Doctrine مع وراثة الجدول الفردي (فئة الملخص الأساسي = مقالة ، والأخبار + الأسئلة الموسعة المقالة).

بعد ذلك ، قمت بإنشاء فئات نموذجية لأتمكن من إنشاء الأخبار والأسئلة الشائعة. لكن جميع النماذج تستخدم نفس قالب الغصين. ثم احتجت إلى تخصيص قالب حقل (مثل article.product) كما هو موضح هنا .

المشكلة هي أن اسم الحقل يتغير حسب النموذج المستخدم. سيكون الاسم إما news_product أو faq_product ، لذلك سيكون من السهل أن أتمكن من تخصيص حقول النموذج الخاصة بي مثل هذا لتجنب التكرار:

{%- block '_'~type~'_product_widget' -%} ... {% endblock %}

بعد إجراء بعض الأبحاث ، قمت بحل هذا عن طريق فرض بادئة النموذج في فئات نوع النموذج المختلفة باستخدام getBlockPrefix ، بحيث يكون لجميع النماذج نفس أسماء الحقول ، ويمكنني ببساطة تخصيص article_product:

public function getBlockPrefix(){ return 'article'; }

لذلك أردت فقط توثيق حالة الاستخدام هذه والتي قد تساعد شخصًا ما ...

تعتبر أسماء الكتل جزءًا من بنية القالب ، ولذا يجب أن تكون معروفة في وقت الترجمة.
المتغيرات معروفة فقط في وقت التشغيل.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

mmarton picture mmarton  ·  4تعليقات

xxfaxy picture xxfaxy  ·  6تعليقات

garak picture garak  ·  5تعليقات

rungta picture rungta  ·  3تعليقات

yguedidi picture yguedidi  ·  4تعليقات