هذه مجموعة من الدوال المساعدة التي يمكن إستخدامها في برمجيتك لبعض الأشياء المساعدة الجاهزة داخل القالب .
- ("" 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"}