السلام عليكم
اليوم سوف ندرس سويا طريقة انشاء صفحة جديدة وتعزيز هذه الصفحة وتطويرها بقدر الامكان ولنستفد الاستفادة القصوى من امكانيات مكتبات الـvBulletin 3.5.x .
إنشاء الصفحة بابسط ما يكن
افتح ملف جديد وليكن اسمه mypage.php وليكن في نفس دليل منتداك ،،،
وضع هذا الكود بداخله واحفظ الملف:
كود PHP:
<?php
// ######################## اعداد البئية العامة ###########################
error_reporting(E_ALL & ~E_NOTICE);
// ##################### تعريف الثوابت المهمة #######################
// تعريف اسم الملف بدون الحاق الامتداد الخاص به وذلك لكي تسهل عملية مناداته داخل المنتدى
// وليكن الاسم نفس اسم الملف
define('THIS_SCRIPT', 'mypage');
// #################### استدعاء القوالب والبييانات ######################
//مصفوفة القوال المستخدمة في هذا الملف
$globaltemplates = array(
// اسماء القوالب التي سوف يتم استدعاءها
'mypage_temp1',// اسم القالب الاول
'mypage_temp2',// اسم القالب الثاني
);
// ########################## الثوابت ############################
require_once('./global.php');
// #################### مسار كود الجافا سكريبت ########################
$headinclude = str_replace('clientscript', $vbulletin->options['bburl'] . '/clientscript', $headinclude);
// ########################################################################
// #########################بداية الكود الخاص بصفحتك ############################
// ########################################################################
$navbits = array();
// عنوان الصفحة في الشريط
$navbits[$parent] = 'صفحتي المتطورة';
$navbits = construct_navbits($navbits);
eval('$navbar = "' . fetch_template('navbar') . '";');// استدعاء قالب النافبار
// استدعاء قوالبك الخاصة والتي عرفتها بالاعلى
eval('print_output("' . fetch_template('mypage_temp1') . '");');
//############################################################################
// .:: s u d a b e s t . c o m ::.
//############################################################################
?>
انتهينا من الملف ق بحفظه.
الان نقم بإنشاء القوالب التي نريدها
ولتكن هذه محتويات قالب mypage_temp1:
كود PHP:
$stylevar[htmldoctype]
<html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]">
<head><meta http-equiv="Content-Type" content="text/html; charset=windows-1256">
$headinclude
<title>$vboptions[bbtitle]</title>
</head>
<body>
$header
$navbar
<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%"
align="center">
<tr>
<td class="tcat">عنوان صفحتي المتطورة</td>
</tr>
<tr>
<td class="alt1">هنا ضع اي شي تريد قوله :)</td>
</tr>
</table>
$footer
</body>
</html>
انتهينا ، قم الان بطلب عنوان الملف mypage.php وانظر.
أضافة اسم الصفحة في المتواجدون الان
عندما تكن تنظر في المتواجدون الان بيظهر لك اسم المستخدم ومكان تواجده ، "مثلا : يقرا رسالة خاصة من "
الان اذا اتى زائر وفتح هذه الصفحة سوف يظهر لك مكان تواجده باسم "Unknown Location" او " غير معروف"
واليكم طريقة التعريف عبر الـPlugins أضف Plugins جديد و ضعه فيه الكود التالي :
كود PHP:
Product: vBulletin
Hook Location: online_location_process
Title: My Custom Location (Part1)
Plugin PHP Code: if ($filename == 'mypage.php')
{
$userinfo['activity'] = 'test';
}
Plugin is Active: Yes
واحفظ
كود PHP:
قم باضافة Plugin جديد مره اخرى وضع فيه الكود التالي :
Product: vBulletin
Hook Location: online_location_unknown
Title: My Custom Location (Part2)
Plugin PHP Code: if ($userinfo['activity'] == 'mypage')
{
$userinfo['action'] = 'يشاهد صفحتي المتطورة'; /
$userinfo['where'] = '<a href="./test.php?' . $vbulletin->session->vars['sessionurl'] . '">هذه صفحتي المتطورة</a>';
$handled = true;
}
Plugin is Active: Yes
قم بالحفظ
( هنالك طريقة اخرى عبر الملفات ومعقدة نوعا ماء كنت استخدمها قبل 3.5 )
انتهينا بحمد الله من تعريف اماكن التواجد.
اعطاء صلاحيات المشاهدة لصفحتي
هنالك طريقتين لعمل تحديد الصلاحيات بالنسبة للمجموعات وكلاهما يعتمدان على الشرط المنطقي " IF" ،، وسوف نستخدم اسهل الطرق .
1- الطريقة الاولى عبر القوالب
2- عبر الملف البرمجي
في قالبك ضع هذا الشرط في المكان المناسب واحبذ بعد متغير الـ$navbar ، هذا الكةد يقم بعرض الصفحة اذا كان المستخدم ينتمي الى المجموعة رقم 6 ( وهي في العادة مجموعة المشرف العام)
كود:
<if condition="is_member_of($bbuserinfo, 6)">
اذا كان المستخدم ينتمي للمجموعة 6
<else />
اعرض هذا
</if>
1
لناخد مثال آخر ،،، اذا كنت تريد عرض الصفحة للاعضاء فقط
كود PHP:
<if condition="!$bbuserinfo['userid']">
طريقة استخدام المتغيرات في القوالب
1- المتغيرات العادية ، مثل $sudabest , $var1،، يمكنك استخدامها بكل يسر.
2- متغيرات المصفوفات مثل $sudabest[hosting] ،، ولا تستخدم ابدا علامات الاقتباس المفردة او الزوجية، والا سوف يظهر لك خطا.
3- متغيرات الكائنات او الاوبجيكت ،
كود:
{$sudabest->host['package']}
، تذكر الازواج من هذا النوع {} في البداية والنهاية
* لاسباب امنية لا تستخدم ابدا مصفوفات الـ$_POST[], $_GET[], $_REQUEST حاول ا تتجنبها في قوالبك.
إستخدام العبارات الشرطية
كل قوالب الاصدار الثالث تدعم استخدام العبارة الشرطية IF في قوالبها
مثلا:-
كود PHP:
<if condition="$somevbulletinvar">
htmlcode
<else />
other html code
</if>
انتبه لا يمكنك ان تستخدم عبارة else if في القوالب واذا كنت بحوجة الى استخدامها عليك بهذه الطريقة
كود PHP:
<if condition="$condition1">
htmlcode
<else />
<if condition="$condition2">
more html code
</if>
</if>
وهكذا ........
أنشاء رسالة خطا
لانشاء رسالة خطا خاصة بك ينبغي ان تراعي :-
1- انشاء عبارة جديدة في Front-End Error Messages
2- يجب ان يكن اسم المتغير لهذه العبارة ان يبدا بي "error_"
3- يجب ان تضع الدالة هذه في الملف البرمجي:
كود PHP:
eval(standard_error(fetch_error('error_mypagephrase')));
وتاكد من تطابق متغير العبارة الذي عرفته مع error_mypagephrase
انشاء رسائل اعادة التوجيه
لإنشاء رسالة اعادة توجيه خاصة يجب ان تراعي :-
1- تاكد بانه لايوجد نتيجة استعلام او اية نتيجة اخرى قبل هذه اعادة التوجيه.
2- تعريف مسار صفحة اعادة التوجيه ، مثلا:-
كود PHP:
$vbulletin->url = "mypage.php" . $vbulletin->session->vars['sessionurl'] ."somevar=someval";
3- تذكر باننا نستخدم دائما الاسم mypage.php .
4- لاتنسى ان تستبدل الـsomevar=someval باسماء متغيراتك الخاصة التي تريد تمريرها للصفحة القادمة هذه.
الان علينا بالقيام بإضافة عبارات رسالة اعادة التوجيه :-
1- قم بإنشاء عبارة في مجموعة "Front-End Redirect Messages" ، ويجب ان تبدا بـ"redirect_" .
2- اضف الكود التالي :-
كود PHP:
eval(print_standard_redirect('redirect_myphrase', true, true));
في المكان الذي تريد فيه رسالة اعادة التوجيه.
بحمد الله وصلنا لنهاية هذا الدرس ، واتمنى اكن قد أفدتكم
تحياتي القلبية لكم بالتوفيق
27-12-2005 الساعة الثامنة وربع بتوقيت الخرطوم
--------------------------------------------------------------------------------------------------------