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

- يتم حفظ نقاط الهوك في ملف 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().

Was this answer helpful? 17 Users Found This Useful (18 Votes)