دوال مساعدة تستخدم للقوالب

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

-   (""  maketitle($var1 ="", $var2 ="", $var3 

تستخدم هذه الدالة لتعيين وسم عنوان الصفحة ، حيث أن $var1 و $var2 و $var3 هي متغيرات العناوين مع ملاحظة أنه يتم فلترة و حماية العنوان من الـ XSS.

-  ( maketree($rootcatid, $module

تستخدم هذه الدالة لبناء كود تفرع شجري للأقسام (Breadcrumb) ، لتوضيح تصنيف المحتوي أو القسم الذي تتواجد به الآن و من أين يتفرع .

البارميترز :

 rootcatid$ (إجباري) : رقم الـ id  للقسم المندرج منه المحتوي أو المندرج منه القسم.

module$ (إجباري) :إسم الجدول في قاعدة البيانات للموديول المحتوي علي الأقسام.

ملاحظة :

يجب أن يحتوي ملف القالب علي البلوكات و المتغيرات التالية حتي تستبدلها الدالة بالقيمة التي تعود منها و التي تكون عبارة عن كود HTML الخاص بالتفرع . 

مثال (يمكنك الإستعانة به مع تغيير ما يلزم به لما يتناسب مع الموديول) :

[code] <[START BLOCK : subcat]> {output} {catname} <[END BLOCK : subcat]> <[START BLOCK : currcat]> {output} {catname} {outputcaption} {caption} <[END BLOCK : currcat]> [/code]

 -   ("= catprev_next($page, $perpage, $results, $address1, $address2 

تستخدم هذه الدالة لعمل تعدد الصفحات داخل القالب للأقسام.

البارميترز :

 page$(إجباري): رقم الـصفحة المعروضة الحالية و تأتي من المتغير catpage المرسل مع الصفحة.

perpage$ (إجباري): عدد الأقسام لعرضها بالصفحة الواحدة.

results $(إجباري): عدد الأقسام الإجمالي.

address1 $(إجباري): عنوان الأكشن الرئيسي للصفحة.

address2 $(إختياري): المتغيرات الإضافية في عنوان الصفحة.

مثال

[code] $pages = catprev_next($dimofinf->GPC['catpage'], $perpage, $count['total'], "l", "&id=" . $dimofinf->GPC['id'] . iif($dimofinf->GPC['page'] > 1, "&page=" . $dimofinf->GPC['page'])); $tpl->assignGlobal("catprev_next",$pages); [/code]

ملاحظة :

يجب أن يحتوي ملف القالب علي المتغير التالي حتي تستبدلها الدالة بالقيمة التي تعود منها و التي تكون عبارة عن كود HTML الخاص بتعدد الصفحات للأقسام.

  - ("=prev_next($page, $perpage, $results, $address1, $address2 

تستخدم هذه الدالة لعمل تعدد الصفحات داخل القالب للمحتويات. 

البارميترز :

 page$(إجباري) : رقم الـصفحة المعروضة الحالية و تأتي من المتغير page المرسل مع الصفحة.

$perpage$(إجباري) : عدد المحتويات لعرضها بالصفحة الواحدة.

results$(إجباري) : عدد المحتويات الإجمالي.

address1$(إجباري) : عنوان الأكشن الرئيسي للصفحة.

address2$(إختياري) : المتغيرات الإضافية في عنوان الصفحة.

مثال:

[code] $pages = prev_next($dimofinf->GPC['page'], $perpage, $count['total'], "l", "&id=" . $dimofinf->GPC['id'] . if($dimofinf->GPC['catpage'] > 1, "&catpage=" . $dimofinf->GPC['catpage'])); [/code]

ملاحظة :

يجب أن يحتوي ملف القالب علي المتغير التالي حتي تستبدلها الدالة بالقيمة التي تعود منها و التي تكون عبارة عن كود HTML الخاص بتعدد الصفحات للمحتوي.

 دوال القوالب الداخلية (Functions) :

كما تم توضيحه سابقاً في وسم الدوال الداخلية ، يمكنك كتابة الدالة الخاصة بك لإستخدامها داخل القوالب ، عن طريق الخطوات التالية :

إنشاء ملف داخل مجلد include/functions بصيغة الإسم التالية functions.name.php ، حيث أن name هو إسم الدالة.

كتابة الصيغة التالية للدالة داخل ملف الدالة :

[code] function Dimofinf_function_name($params) { return $val; } [/code]

حيث name هو إسم الدالة و $params هي مصفوفة تضم الباراميترز الخاصة بالدالة التي يتم منادتها مع إستدعاء الدالة من داخل القالب ، حيث أن كل مدخل يأخد إندكس في المصفوفة $params و تكون قيمته هي القيمة المدخله ، مع ملاحظة أنه يجب أن تقوم الدالة في النهاية بإرجاع return بالقيمة ، حيث أن $val هي مثال للقيمة المرجعة من الدالة.

مثال:

الدالة getpermalink التي يتم مناداتها من القالب و من ثم تقوم هي بالمعالجة من الدالة الرئيسية في الـ(PHP):

[code] function Dimofinf_function_getpermalink($params) { if(isset($params['file'])){ return ]getpermalink($params['file'],$params['args'],$params['outputfiletype'],$params['default'],$params['caption']); } } [/code]

مثال لمناداتها من القالب :

{function:getpermalink file="albums"}

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