الويب العربي

الويب العربي (http://www.arabwebtalk.com/index.php)
-   قسم المنتديات (http://www.arabwebtalk.com/forumdisplay.php?f=112)
-   -   تعلم بناء صفحة جديدة في الـvBulletin "صفحتي المتطورة" (http://www.arabwebtalk.com/showthread.php?t=32254)

إبتسامــة 05-08-2006 11:38 PM

تعلم بناء صفحة جديدة في الـvBulletin "صفحتي المتطورة"
 
السلام عليكم

اليوم سوف ندرس سويا طريقة انشاء صفحة جديدة وتعزيز هذه الصفحة وتطويرها بقدر الامكان ولنستفد الاستفادة القصوى من امكانيات مكتبات الـvBulletin 3.5.x . يمكنك فعل كل شي من دليل المطورين الخاص بي الvbulletin ويمكنك تحميله من موقعهم


إنشاء الصفحة بابسط ما يكن
افتح ملف جديد وليكن اسمه 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
$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:

ProductvBulletin 
Hook Location
online_location_process 
Title
My Custom Location (Part1
Plugin PHP Code: if ($filename == 'mypage.php'

        
$userinfo['activity'] = 'test'

Plugin is ActiveYes 

واحفظ
كود PHP:

قم باضافة Plugin جديد مره اخرى وضع فيه الكود التالي 
ProductvBulletin 
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 ActiveYes 

قم بالحفظ
( هنالك طريقة اخرى عبر الملفات ومعقدة نوعا ماء كنت استخدمها قبل 3.5 )
انتهينا بحمد الله من تعريف اماكن التواجد.

اعطاء صلاحيات المشاهدة لصفحتي

هنالك طريقتين لعمل تحديد الصلاحيات بالنسبة للمجموعات وكلاهما يعتمدان على الشرط المنطقي " IF" ،، وسوف نستخدم اسهل الطرق .

1- الطريقة الاولى عبر القوالب
2- عبر الملف البرمجي

في قالبك ضع هذا الشرط في المكان المناسب واحبذ بعد متغير الـ$navbar ، هذا الكةد يقم بعرض الصفحة اذا كان المستخدم ينتمي الى المجموعة رقم 6 ( وهي في العادة مجموعة المشرف العام)



كود PHP:

<if condition="is_member_of($bbuserinfo, 6)">
اذا كان المستخدم ينتمي للمجموعة 6
<else />
اعرض هذا
</if> 


لناخد مثال آخر ،،، اذا كنت تريد عرض الصفحة للاعضاء فقط
كود 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'truetrue)); 


في المكان الذي تريد فيه رسالة اعادة التوجيه.

بحمد الله وصلنا لنهاية هذا الدرس ، واتمنى اكن قد أفدتكم ،، درس قصدت فيه توضيح الاساسيات ، وبإنتظار ابدعاتكم ، نصيحتي لكم تنزيل دليل المطور vBulletin API لان به كل شي .

تحياتي القلبية لكم بالتوفيق



جميع الأوقات بتوقيت مكة المكرمة. الساعة الآن » 08:20 PM.

Powered by vBulletin
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © ArabWebTalk.Com 2004-2012