لا تنس الصلاة في وقتها المفروضة كما لا يلهيك الابحار على الانترنت عن أداء صلاة الجماعة وجزاكم الله خيراً .





جديد بالشبكة

أحصل على موقع خاص بك

إخبــار : سيتم حذف العضويات التي رصيدها من المشاركات و المواضيع 0 (صفر)، و به الإعلام   إدارة المنتدى
+ الرد على الموضوع
النتائج 1 إلى 5 من 5

الموضوع: تعلم بناء صفحة جديدةفي الـvBulletin بتقنيات متطورة

  1. #1
    الفريق التقني و مشرف إسلامي
    الحالة: Al.MousliM غير متواجد حالياً
    رقم العضوية: 39264
    تاريخ التسجيل: 21 12 2005
    علم الدولة : Users Country Flag
    المشاركات: 1,408
    التقييم: 10
    Al.MousliM is on a distinguished road

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

    النجاح هوست
    السلام عليكم

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

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


    كود:
    قم باضافة 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>
    لناخد مثال آخر ،،، اذا كنت تريد عرض الصفحة للاعضاء فقط
    كود:
    <if condition="!$bbuserinfo['userid']">
    طريقة استخدام المتغيرات في القوالب
    1- المتغيرات العادية ، مثل $sudabest , $var1،، يمكنك استخدامها بكل يسر.
    2- متغيرات المصفوفات مثل $sudabest[hosting] ،، ولا تستخدم ابدا علامات الاقتباس المفردة او الزوجية، والا سوف يظهر لك خطا.
    3- متغيرات الكائنات او الاوبجيكت ،
    كود:
    {$sudabest->host['package']}
    تذكر الازواج من هذا النوع {} في البداية والنهاية

    * لاسباب امنية لا تستخدم ابدا مصفوفات الـ$_POST[], $_GET[], $_REQUEST حاول ا تتجنبها في قوالبك.

    إستخدام العبارات الشرطية

    كل قوالب الاصدار الثالث تدعم استخدام العبارة الشرطية IF في قوالبها
    مثلا:-
    كود:
    <if condition="$somevbulletinvar">
            htmlcode
    <else />
            other html code
    </if>
    انتبه لا يمكنك ان تستخدم عبارة else if في القوالب واذا كنت بحوجة الى استخدامها عليك بهذه الطريقة

    كود:
    <if condition="$condition1">
            htmlcode
    <else />
            <if condition="$condition2">
                    more html code
            </if>
    </if>
    وهكذا ........

    أنشاء رسالة خطا
    لانشاء رسالة خطا خاصة بك ينبغي ان تراعي :-
    1- انشاء عبارة جديدة في Front-End Error Messages
    2- يجب ان يكن اسم المتغير لهذه العبارة ان يبدا بي "error_"
    3- يجب ان تضع الدالة هذه في الملف البرمجي:

    كود:
     eval(standard_error(fetch_error('error_mypagephrase')));
    وتاكد من تطابق متغير العبارة الذي عرفته مع error_mypagephrase

    انشاء رسائل اعادة التوجيه
    لإنشاء رسالة اعادة توجيه خاصة يجب ان تراعي :-
    1- تاكد بانه لايوجد نتيجة استعلام او اية نتيجة اخرى قبل هذه اعادة التوجيه.
    2- تعريف مسار صفحة اعادة التوجيه ، مثلا:-

    كود:
    $vbulletin->url = "mypage.php" . $vbulletin->session->vars['sessionurl'] ."somevar=someval";
    3- تذكر باننا نستخدم دائما الاسم mypage.php .
    4- لاتنسى ان تستبدل الـsomevar=someval باسماء متغيراتك الخاصة التي تريد تمريرها للصفحة القادمة هذه.

    الان علينا بالقيام بإضافة عبارات رسالة اعادة التوجيه :-
    1- قم بإنشاء عبارة في مجموعة "Front-End Redirect Messages" ، ويجب ان تبدا بـ"redirect_" .
    2- اضف الكود التالي :-

    كود:
    eval(print_standard_redirect('redirect_myphrase', true, true));

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

    بحمد الله وصلنا لنهاية هذا الدرس ، واتمنى اكن قد أفدتكم


    عزيـــــــــــــــــــزي العضـــــــــــو
    • قبل السؤال و الطلب استخدم خاصية البحـــــث في المنتديات .
    • اجتنب الكتابة بلغة غير العربية في المنتديات العربية .
    • مشاركة واحدة مفيدة خير من 100 رد بلا معنى .
    • إن أفدت عضوا ، لعله غدا هو يفيدك .
    • و اعلم انه لا خير فيمن علم علما و لم يعط ولو قليلا منه .

  2. أحصل على موقع خاص بك
  3. #2
    الحالة: anouaros غير متواجد حالياً
    رقم العضوية: 1
    تاريخ التسجيل: 5 10 2004
    المشاركات: 3,949
    التقييم: 10
    anouaros تم تعطيل التقييم

    شكرا عزيزي على الدرس الاكثر من رائع
    عزيزي العضو :
    - قبل السؤال و الطلب استخدم خاصية البحث في المنتديات .
    - اجتنب الكتابة بلغة غير العربية في المنتديات العربية .
    - مشاركة واحدة مفيدة خير من 100 رد بلا معنى .
    - إن أفدت عضوا ، لعله غدا هو يفيدك .
    - و اعلم انه لا خير فيمن علم علما و لم يعط ولو قليلا منه .

    قريبا جدا حصريات جديدة و مواضيع لن تجدها إلا في شبكة الباتشات و السوفتوير

    النسخ المنزوعة كود التبليغ باخر إصداراتها من فريق الدعم والتطوير لشبكة الباتشات والسوفتوير تجدها دائما هنا





    أفضل الأشياء في الحياة تكون مجانية

  4. #3
    الفريق التقني و مشرف إسلامي
    الحالة: Al.MousliM غير متواجد حالياً
    رقم العضوية: 39264
    تاريخ التسجيل: 21 12 2005
    علم الدولة : Users Country Flag
    المشاركات: 1,408
    التقييم: 10
    Al.MousliM is on a distinguished road

    شكرا لكم يا اخواني فكل المجهود من اجل اعضاء المنتدى

    عزيـــــــــــــــــــزي العضـــــــــــو
    • قبل السؤال و الطلب استخدم خاصية البحـــــث في المنتديات .
    • اجتنب الكتابة بلغة غير العربية في المنتديات العربية .
    • مشاركة واحدة مفيدة خير من 100 رد بلا معنى .
    • إن أفدت عضوا ، لعله غدا هو يفيدك .
    • و اعلم انه لا خير فيمن علم علما و لم يعط ولو قليلا منه .

  5. #4
    الحالة: simokarim غير متواجد حالياً
    رقم العضوية: 44764
    تاريخ التسجيل: 6 02 2006
    علم الدولة : Users Country Flag
    المشاركات: 51
    التقييم: 10
    simokarim is on a distinguished road

    بسم الله الرحمن الرحيم الله عليك يا مبدع ألف ألف شكرً

  6. #5
    الفريق التقني و مشرف إسلامي
    الحالة: Al.MousliM غير متواجد حالياً
    رقم العضوية: 39264
    تاريخ التسجيل: 21 12 2005
    علم الدولة : Users Country Flag
    المشاركات: 1,408
    التقييم: 10
    Al.MousliM is on a distinguished road

    العفو اخواني

    و شكرا على المرور

    عزيـــــــــــــــــــزي العضـــــــــــو
    • قبل السؤال و الطلب استخدم خاصية البحـــــث في المنتديات .
    • اجتنب الكتابة بلغة غير العربية في المنتديات العربية .
    • مشاركة واحدة مفيدة خير من 100 رد بلا معنى .
    • إن أفدت عضوا ، لعله غدا هو يفيدك .
    • و اعلم انه لا خير فيمن علم علما و لم يعط ولو قليلا منه .

+ الرد على الموضوع

مواقع النشر (المفضلة)

مواقع النشر (المفضلة)

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
42 44 45 46 47 49 53 54 55 56 57 58 59 60 61 63 64 69 71 72 73 74 75 82 83 84 85 92 100 103 106 107 108 109 110 111 112 113 114 116 117 120 121 122 123 124 126 127 129 130 131 132 135 136 137 138 139 141 142 143 144 146 147 151 152 153 154 155 156 157 158 159 161 162 163 164 165 166 169 170 171 175 179 180 181 186 194 196 198 199 201 202 203 204 205 206 207 211 212 213 215 216 217 218 219 222 224 225 226 227 228 231 232 233 234 235 238 239 240 242 243 244 246 247 248 249 250 251 252 254 255 256 257 258 259 260 261 262 263 265 266 267 268 270 284 285 286 287 288 289 291 292 293 294 295 296 297 299 300 301 302 305 306 307 308 310 311 312 313 314 316 317 318 319 320 323 324 327 328 329 330 332 333 334 335 341 342 343 344 345 346 347 348 349 350 351 355 356 357 358 359 363 364 366 367 368