ديموفنف توفر لك نظام إحترافي سلس للتيمبلت زون ، حيث أن التيمبلت زون كتوضيح هي عباره عن مراكز نقاط يتم زرعها و توزيعها داخل ملفات الـقوالب سواء لديموفنف أو لبرمجيتك و التي تسمح من خلالها سواء لك أو للمبرمجين الأخرين من إضافة قوالب خاصة بهم و إظهارها في هذه النقاط ، و التي تتيح للمبرمج الفرصة وقتها في إضافة قوالبه دون الاضطرار إلي تعديل ملف المصدر للقالب الرئيسي ، هناك نقاط أساسية يجب فهمها عن نظام نقاط التيمبلت زون بديموفنف :
- يتم حفظ نقاط الهوك في ملف xml حيث في ديموفنف يتواجد ملف نقاط الهوك في المسار include/xml بإسمtemplate_zones.xml ، أما في البلجن فيتواجد ملف نقاط الهوك في المسار include/pluginfolder/xml/pluginfolder-template_zones.xml مع إستبدال pluginfolder بإسم مجلد البلجن.
(هام : يجب أن يتم حفظ ملف نقاط التيمبلت زون بنفس صياغ هذا الإسم في البلجنات)
مثال لملف الـXML لنقاط التيمبلت زون :
[code] // template zone points groups point1 point2 [/code]
ملاحظات :
- يتم تقسيم نقاط التيمبلت زون إلي مجموعات ، كل مجموعة تحتوي النقاط الخاصه بها.
- الخاصية module في الوسم zonemodule هو إسم مجموعة نقاط التيمبلت زون.
-الوسم zone يحتوي علي إسم نقطة التيمبلت زون.
أساسيات :
زراعة نقطة التيمبلت زون في مكان داخل ملف الـقالب :
يمكنك زراعة نقطة إرتكاز تيمبلت زون في ملف القالب في أي مكان تريده من القالب ، من أجل إتاحة إستدعاء هذه النقطة ، مع ملاحظة أنه يجب أن تكون هذه النقطة معرفة مسبقاً في ملف نقاط التيمبلت زون للبلجن.
PHP :
يتم وضع هذا الوسم داخل ملف القالب في المكان الذي تريده مع إستبدال zonepoint بـ إسم نقطة الزون بوينت الخاصة بك ، حيث يقوم نظام القوالب أثناء معالجته للقالب ، بإستدعاء كل القوالب المرسلة إلي هذه النقطة من أجل دمجها بالقالب الذي يتم معالجته و إظهارها فيه.
إرسال قالب إلي نقطة تيمبلت زون :
من خلال البلجن الخاص بك ، تستطيع إرسال القالب الخاص بك إلي نقطة التيمبلت زون عن طريق إستدعاء الدالة add_template_zone()ووضعها في دالة ، و من ثم إرسال هذه الدالة إلي نقطة هوك بإستخدام دالة add_hook().
مثال :
في ملف دوال البلجن الموجود علي المسار include/plugins/pluginfolder/pluginfolder_plugin.php
مع ملاحظة إستبدال pluginfolder بـ إسم مجلد البلجن.
ضع الدالة add_template_hook() داخل دالة ، و من ثم إستخدم الدالة add_hook() لإرسالها إلي نقطة الهوك ، حيث أن دالة add_template_hook() تقبل 3 متغيرات :
المتغير الأول (إجباري) : وهو يحمل مسار ملف القالب المراد إرساله بدون وضع إمتداد ملف القالب ، المسار يكون عبارة عن إسم مجلد البلجن ثم مجلدtpl الخاص بقوالب البلجن ثم إسم القالب.
المتغير الثاني (إجباري) : إسم نقطة التيمبلت الزون التي سترسل لها.
المتغير الثالث (إختياري) : قيمة true/false ، يتم تعينه إلي true في حال كان المسار للقالب المرسل خارج مجلد البلجنات include/plugins .
PHP :
يمكن إرسال عدة قوالب إلي أكثر من نقطة تيمبلت زون كدفعة واحدة مباشرة بدالة add_template_hook مباشرة بدون الحاجة لإستدعائها مره لكل قالب و ذلك عن طريق تمرير مصفوفة إلي الدالة ، المفتاح فيها عبارة عن مسار ملف القالب المراد إرساله ، و قيمته تكون عباره عن إسم نقطة التيمبلت زون التي سترسل لها.
PHP :
ملاحظة : إستبدل pluginfolder بـ إسم مجلد البلجن ، و templatefile بـ إسم ملف القالب ، و zonepoint بـ إسم نقطة الزون بوينت التي سترسل لها القالب ، و hook_point بـ إسم نقطة الهوك التي سترسل إليها الدالة التي تحمل الدالة add_template_hook() ، و إستبدل function_name بـ إسم الدالة التي تحمل الدالة add_template_hook().