+ الرد على الموضوع
صفحة 1 من 2 1 2 الأخيرةالأخيرة
النتائج 1 إلى 5 من 7
  1. #1
    المودة has a reputation beyond repute المودة has a reputation beyond repute المودة has a reputation beyond repute المودة has a reputation beyond repute المودة has a reputation beyond repute المودة has a reputation beyond repute المودة has a reputation beyond repute المودة has a reputation beyond repute المودة has a reputation beyond repute المودة has a reputation beyond repute المودة has a reputation beyond repute الصورة الرمزية المودة
    تاريخ التسجيل
    17 / 08 / 2004
    العمر
    32
    المشاركات
    20,806
    معدل تقييم المستوى
    26158

    افتراضي تعلم بناء صفحة جديدة في الـ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 ( وهي في العادة مجموعة المشرف العام)

    كود:
    <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'truetrue)); 
    في المكان الذي تريد فيه رسالة اعادة التوجيه.

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

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


    منقول من سوالف سوفت للكاتب HaMaDa4eVeR للفائدة مع أجمل تحية .

    0

     
  2. #2
    المودة has a reputation beyond repute المودة has a reputation beyond repute المودة has a reputation beyond repute المودة has a reputation beyond repute المودة has a reputation beyond repute المودة has a reputation beyond repute المودة has a reputation beyond repute المودة has a reputation beyond repute المودة has a reputation beyond repute المودة has a reputation beyond repute المودة has a reputation beyond repute الصورة الرمزية المودة
    تاريخ التسجيل
    17 / 08 / 2004
    العمر
    32
    المشاركات
    20,806
    معدل تقييم المستوى
    26158

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

    تصحيح إضافي :

    فيه ملاحظة صغيرة حين استدعاء ملف القلوبال لابد وضع هالتعريف قبل الإستداعاء

    كود PHP:
    define('NO_REGISTER_GLOBALS'1);
    define('THIS_SCRIPT''mypage');

    // ################### PRE-CACHE TEMPLATES AND DATA ######################
    $phrasegroups = array();
    $specialtemplates = array();
    $globaltemplates = array( 
            
    // اسماء القوالب التي سوف يتم استدعاءها 
            
    'mypage_temp1',// اسم القالب الاول 
            
    'mypage_temp2',// اسم القالب الثاني 
    ); 
    $actiontemplates = array(); 
    هذه الطريقة الصحيحة


    التنويه من جريح الحب ... تحياتي .

     
  3. #3
    ابن عتيبه is on a distinguished road
    تاريخ التسجيل
    18 / 06 / 2005
    العمر
    40
    المشاركات
    135
    معدل تقييم المستوى
    366

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

    يامال العافيه اي والله

    شرح لايعلى عليه يالغالي

    تسلم يمينك
    (فلا صدق ولا صلى ولكن كذب وتولى ثم ذهب الى اهله يتمطى اولى لك فأولى ثم أولى لك فأولى)
    سورة القيامة - ناصر القطامي - مقطع مبكي

     
  4. #4
    نعنوع سيهات is on a distinguished road
    تاريخ التسجيل
    23 / 04 / 2006
    الدولة
    السعودية
    العمر
    48
    المشاركات
    44
    معدل تقييم المستوى
    265

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

    تسلم اخوي ابو راشد

    بس بصراحة انا ضعت في نص المشوار

    واليكم طريقة التعريف عبر الـPlugins أضف Plugins جديد و ضعه فيه الكود التالي

    هذا اخر شي وقفت عنده

     
  5. #5
    صحبة is on a distinguished road
    تاريخ التسجيل
    15 / 07 / 2006
    الدولة
    مجهولة
    العمر
    53
    المشاركات
    38
    معدل تقييم المستوى
    256

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

    العجب العجاب في التعامل مع المنتديات

    ولكن حجيب راسها حجيب راسها إن شاء الله

    لا تنتظروني كملوا عملكم وراح ألحقكم

     

 
+ الرد على الموضوع
صفحة 1 من 2 1 2 الأخيرةالأخيرة

معلومات الموضوع

الأعضاء الذين يشاهدون هذا الموضوع

الذين يشاهدون الموضوع الآن: 1 (0 من الأعضاء و 1 زائر)

     

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

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

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

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك