سؤال

أي شخص لديه أي أفكار حول كيفية تضمين منطقة في عرض ملف .tpl.php؟

أنا أنجزها بسهولة كافية في عقدة .tpl.php عن طريق إضافة شيء مثل هذا ل theme_preproces_node():

$vars['promos'] = theme('blocks', 'promos');

لا مشكلة على الإطلاق. ومع ذلك، هناك من الواضح ليس theme_preprocess_view() وظيفة، والحصول على أخطاء الذاكرة عندما أحاول إضافة نفس المقتطف إلى theme_preprocess().

خطأ فادح: حجم الذاكرة المسموح بها من 104857600 بايت استنفدت (حاول تخصيص 523800 بايت) في /users/cpharmston/sites/projects/threspot/neh01/includes/database.mysqli.inc على الخط 42

أنا لاذع. أيه أفكار؟

شكرا!

هل كانت مفيدة؟

المحلول

طريقة سريعة وقذرة ": يمكنك فقط وضع theme('blocks', [region_name]) اتصل مباشرة في وجهات النظر. ملف .tpl.php.

في حين تهدف الوظائف المعالجة المسبقة إلى فصل أفضل من منطق "عرض" منطق الأعمال "، فهي غير مطلوبة بأي شكل من الأشكال، بحيث لا يزال بإمكانك وضع رمز مخصص في ملف .tpl.php أي طريقة تريدها.

'الطريقة الصحيحة: هناك نكون وظائف المعالجة المسبقة للحصول على وجهات النظر، أكثر من واحد فقط. ألق نظرة على ملف Theme.inc لوحدة طرق العرض. ستجد هناك وظائف مختلفة مسبقا بالنسبة للقوالب المختلفة التي ربما تستخدمها عرض (مثل "قائمة" جدول مقابل "مقابل" جدول "، إلخ). تحتاج فقط إلى العثور على واحد مناسب لقالب العرض الذي تريد حقن المتغير الجديد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top