ط¨ط±ظ…ط¬ط© ط§ط¶ط§ظپط© ظ„ pbb ظˆ طھط±ظƒظٹط¨ظ‡ط§ ط¹ظ† ط·ط±ظٹظ‚ ظ„ظˆط*ط© ط§ظ„طھط*ظƒظ…



بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته،،


تم تحديث update الشرح طريقة للتوافق مع النسخة 2.1.3

:: نظام الأضافات البرمجية (Addons) في منتديات PBBoard ::
هو نظام من خلاله يتمكن المبرمجين والمطورين من برمجة اضافة برمجية (هاك product) تكتب بداخل بملف من نوع XML يتم تركيب installها بشكل بسيط وسهل من خلال لوحة إدارة منتديات pbboard عن طريق استيراد اضافة برمجية وبنقرة زر واحدة يتم من خلالها التركيب install جيث يتم تعديل واضافة القوالب وتنفيذ الاستعلامات في قاعدة البيانات بشكل تلقائي . يتم التحكم بالأضافة البرمجية من بند التحكم بالإضافات البرمجية حيث يتم عؤض كافة الأضافات البرمجية التي تم تركيب installها ويتاح لك عدة خيارات بجانب كل اضافة تتتمثل بالتحرير والتعطيل والتفعيل والحذف والتصدير ..

: : شرح طريقة طريق بناء وكتابة اضافة برمجية (Addons) لمنتديات PBBoard::
لكتابة اضافة برمجية تحتاج إلى خبرة جيدة في لغة تصميم الصفحات HTML ولغة الاستعلامات في قواعد البيانات SQL

الخطوة الأولى وهي التعرف كافة العناصر والأكواد التي يمكن استخدامها في ملف الـ xml الخاص بالأضافة البرمجية لمنتديات pbboard وماعمل كل منها :

السطر الأول اول عنصرتعريفي ثابت يتم كتابته في بداية اول سطر بداخل ملف الـ XML
رمز Code:
<?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>
السطر الثاني العنصر plugin name وهو تعريف اسم الأضافة البرمجية وسنسميها على سبيل المثال Addons_Name
رمز Code:
<plugin name=&quot;Addons_Name&quot;>
السطر الثالث العنصر version وهو رقم الإصدار الخاص بالأضافة البرمجية وسيكون مثلاً 1.0
رمز Code:
<version>1.0</version>
السطر الرابع العنصر description وهو وصف مختصر للأضافة البرمجية وسيكون على سبيل المثال Addons Description MOD
رمز Code:
<description>Addons Description MOD</description>
السطر الخامس العنصر author وهو اسم كاتب او مبرمج الأضافة البرمجية وسيكون على سبيل المثال Suliman
رمز Code:
<author>Suliman</author>
السطر السادس العنصر url وهو رابط موقع مبرمج الأضافة وسيكون على سبيل المثال www.pbboad.com
رمز Code:
<url>www.pbboad.com</url>
الآن ندخل في المرحلة البرمجية :
العنصرinstallcode كود code التثبيت setup وهو خاص بتنفيذ ادخال اوامر او استعلامات فيقاعدة بيانات المنتدى forum يتم كتابة الأستعلامات بالطريقة المتبعة في نظاممنتدى الـ pbboard وليس بشكلها الأساسي وعلى سبيل المثال نريد انشاء حقلجديد اسمه user_mood في جدول الأعضاء member فسيكون الأستعلام بهذا الشكل:
رمز Code:
<installcode><![CDATA[$PowerBB->DB->sql_query(&quot;ALTERTABLE &quot; . $PowerBB->table['member'] . &quot; ADD`user_mood` VARCHAR( 250 ) NULL DEFAULTNULL&quot;]]></installcode>
يمكن ايضاً اضافة العديد من الأستعلامات في عنصر installcode واحد
وفي حال لايوجد اي استعلامات للأضافة البرمجية يتم ترك هذا العنصر فارغ بالشكل التالي :
رمز Code:
<installcode><![CDATA[]]></installcode>
او لاتتم كتابتة

العنصرالسابع uninstallcode كود code الغاء التثبيت setup وهو خاص بحذف الاوامروالاستعلامات التي تم ادخالها في قاعدة بيانات المنتدى forum ويتم تنفيذة عنالنقرعلى حذف الأضافة البرمجية
يتم كتابة الأستعلامات بالطريقةالمتبعة في نظام منتدى الـ pbboard وليس بشكلها الأساسي وعلى سبيل المثالنريد حذف الاستعلام السابق في العنصر installcode فسيكون الاستعلام بهذاالشكل :
رمز Code:
<uninstallcode><![CDATA[$PowerBB->DB->sql_query('ALTERTABLE ' . $PowerBB->table['member'] . &quot; DROPuser_mood&quot;]]></uninstallcode>
يمكن ايضاً اضافة العديد من استعلامات الحذف في عنصر uninstallcode واحد
وفي حال لايوجد اي من استعلامات حذف للأضافة البرمجية يتم ترك هذا العنصر فارغ بالشكل التالي :
رمز Code:
<uninstallcode><![CDATA[]]></uninstallcode>
او لاتتم كتابتة

التعديل على قوالب المنتدى forum
العنصرالثامن : templates وهو عنصر بداية تعديلات قوالب الأستايل styleات ويحتوي علىالعديد من عناصر template بداخله ويكون بالشكل التالي :
رمز Code:
<templates>
واسفله يتم البدأ بالتحكم بالقوالب وتتمثل في 4 خيارات وهي :
الخيارالأول - اضافة قالب template جديد وسنسمية new_template.tpl ويتم كتابة كلمة newلقيمة الـ type وتكون كتابة العناصر لأضافة قالب template جديد بالشكل التالي :
رمز Code:
<template name=&quot;new_template.tpl&quot; type=&quot;new&quot;>
اسفله مباشرة سيكون عنصر text وسيكون بداخله محتوى القالب template الجديد وسنضع كلمة TestongText
رمز Code:
<text><![CDATA[TestongText]]></text>
يكتب المحتوى بداخل
رمز Code:
<![CDATA[TestongText]]
بعد انتهاء من كتابة عنصر الـ text يتم اغلاق عنصر template
رمز Code:
</template>
الخيارالثاني - وهو ( ابحث واضف بعده) ويتم كتابة كلمة after لقيمة الـ typeوتكون كتابة العناصر للتعديل على القالب template بالشكل التالي :
رمز Code:
<template name=&quot;name_template.tpl&quot; type=&quot;after &quot;>
اسفلهمباشرة سيكون عنصرابحث عن ( find )حيث تكتب كلمة او جملة joomla البحث ولا بد انتكون جملة joomla البحث فريدة ووحيدة وغير متكررة في القالب template المراد التعديل عليه.. وسنضع على سبيل المثال <!-- action_find_addons_2 -->
رمز Code:
<find><![CDATA[<!-- action_find_addons_2 -->]]></find>
اسفلهمباشرة يتم كتابه عنصر action المختص باضافة النص الجديد اسفل كلمة البحثالتي تم ادخالها في عنصر find وسنضع كلمة PBBOARD.COM
رمز Code:
<action><![CDATA[PBBOARD.COM]]></action>
بعد انتهاء من كتابة عنصر الـ action يتم اغلاق عنصر template
رمز Code:
</template>
الخيارالثالث : وهو( ابحث عن واضف فوقه ) ويتم كتابة كلمة before لقيمة الـ typeتكون كتابة العناصر للتعديل على القالب template بالشكل التالي :
رمز Code:
<template name=&quot;name_template.tpl&quot; type=&quot;before &quot;>
اسفلهمباشرة سيكون عنصرابحث عن ( find )حيث تكتب كلمة او جملة joomla البحث ولا بد انتكون جملة joomla البحث فريدة ووحيدة وغير متكررة في القالب template المراد التعديل عليه.. وسنضع على سبيل المثال <!-- action_find_addons_2 -->
رمز Code:
<find><![CDATA[<!-- action_find_addons_2 -->]]></find>
اسفله مباشرة يتم كتابه عنصر action المختص باضافة النص الجديد فوق كلمة البحث التي تم ادخالها في عنصر find وسنضع كلمة PBBOARD.COM
رمز Code:
<action><![CDATA[PBBOARD.COM]]></action>
بعد انتهاء من كتابة عنصر الـ action يتم اغلاق عنصر template
رمز Code:
</template>
الخيارالرابع : وهو( ابحث عن واستبدله بـ ) ويتم كتابة كلمة replace لقيمة الـtype تكون كتابة العناصر للتعديل على القالب template بالشكل التالي :
رمز Code:
<template name=&quot;name_template.tpl&quot; type=&quot;replace&quot;>
اسفلهمباشرة سيكون عنصرابحث عن ( find )حيث تكتب كلمة او جملة joomla البحث ولا بد انتكون جملة joomla البحث فريدة ووحيدة وغير متكررة في القالب template المراد التعديل عليه.. وسنضع على سبيل المثال <!-- action_find_addons_2 -->



رمز Code:
<find><![CDATA[<!-- action_find_addons_2 -->]]></find>
اسفله مباشرة يتم كتابه عنصر action المختص باستبدال جملة joomla البحث بالنص الجديد التي تم ادخالها في عنصر find وسنضع كلمة PBBOARD.COM
رمز Code:
<action><![CDATA[PBBOARD.COM]]></action>
بعد انتهاء من كتابة عنصر الـ action يتم اغلاق عنصر template
رمز Code:
</template>
هذه هي الخيارات الـ 4 لربما لاتحتاجها جميعها لكن لابد من شرح طريقة وأخذ العلم بها للتوسع ..
بعد الأنتهاء من كتابة كافة تعديلات او اضافة القوالب يتم اغلاق وسم الـ templates
رمز Code:
</templates>
التعديل على قوالب لوحة الإدارة

العنصرالتاسع : admin_templates وهو عنصر بداية تعديلات قوالب لوحة الإدارةويحتوي على العديد من عناصر template بداخله ويكون بالشكل التالي :
رمز Code:
<admin_templates>
واسفله يتم البدأ بالتحكم بالقوالب وتتمثل في 4 خيارات وهي :
الخيارالأول - اضافة قالب template جديد وسنسمية new_template.tpl ويتم كتابة كلمة newلقيمة الـ type وتكون كتابة العناصر لأضافة قالب template جديد بالشكل التالي :
رمز Code:
<template name=&quot;new_template.tpl&quot; type=&quot;new&quot;>
اسفله مباشرة سيكون عنصر text وسيكون بداخله محتوى القالب template الجديد وسنضع كلمة TestongText
رمز Code:
<text><![CDATA[TestongText]]></text>
يكتب المحتوى بداخل
رمز Code:
<![CDATA[TestongText]]
بعد انتهاء من كتابة عنصر الـ text يتم اغلاق عنصر template
رمز Code:
</template>
الخيارالثاني - وهو ( ابحث واضف بعده) ويتم كتابة كلمة after لقيمة الـ typeوتكون كتابة العناصر للتعديل على القالب template بالشكل التالي :
رمز Code:
<template name=&quot;name_template.tpl&quot; type=&quot;after &quot;>
اسفلهمباشرة سيكون عنصرابحث عن ( find )حيث تكتب كلمة او جملة joomla البحث ولا بد انتكون جملة joomla البحث فريدة ووحيدة وغير متكررة في القالب template المراد التعديل عليه.. وسنضع على سبيل المثال <!-- action_find_addons_2 -->
رمز Code:
<find><![CDATA[<!-- action_find_addons_2 -->]]></find>
اسفلهمباشرة يتم كتابه عنصر action المختص باضافة النص الجديد اسفل كلمة البحثالتي تم ادخالها في عنصر find وسنضع كلمة PBBOARD.COM
رمز Code:
<action><![CDATA[PBBOARD.COM]]></action>
بعد انتهاء من كتابة عنصر الـ action يتم اغلاق عنصر template
رمز Code:
</template>
الخيارالثالث : وهو( ابحث عن واضف فوقه ) ويتم كتابة كلمة before لقيمة الـ typeتكون كتابة العناصر للتعديل على القالب template بالشكل التالي :
رمز Code:
<template name=&quot;name_template.tpl&quot; type=&quot;before &quot;>
اسفلهمباشرة سيكون عنصرابحث عن ( find )حيث تكتب كلمة او جملة joomla البحث ولا بد انتكون جملة joomla البحث فريدة ووحيدة وغير متكررة في القالب template المراد التعديل عليه.. وسنضع على سبيل المثال <!-- action_find_addons_2 -->
رمز Code:
<find><![CDATA[<!-- action_find_addons_2 -->]]></find>
اسفله مباشرة يتم كتابه عنصر action المختص باضافة النص الجديد فوق كلمة البحث التي تم ادخالها في عنصر find وسنضع كلمة PBBOARD.COM
رمز Code:
<action><![CDATA[PBBOARD.COM]]></action>
بعد انتهاء من كتابة عنصر الـ action يتم اغلاق عنصر template
رمز Code:
</template>
الخيارالرابع : وهو( ابحث عن واستبدله بـ ) ويتم كتابة كلمة replace لقيمة الـtype تكون كتابة العناصر للتعديل على القالب template بالشكل التالي :
رمز Code:
<template name=&quot;name_template.tpl&quot; type=&quot;replace&quot;>
اسفلهمباشرة سيكون عنصرابحث عن ( find )حيث تكتب كلمة او جملة joomla البحث ولا بد انتكون جملة joomla البحث فريدة ووحيدة وغير متكررة في القالب template المراد التعديل عليه.. وسنضع على سبيل المثال <!-- action_find_addons_2 -->
رمز Code:
<find><![CDATA[<!-- action_find_addons_2 -->]]></find>
اسفله مباشرة يتم كتابه عنصر action المختص باستبدال جملة joomla البحث بالنص الجديد التي تم ادخالها في عنصر find وسنضع كلمة PBBOARD.COM
رمز Code:
<action><![CDATA[PBBOARD.COM]]></action>
بعد انتهاء من كتابة عنصر الـ action يتم اغلاق عنصر template
رمز Code:
</template>
هذه هي الخيارات الـ 4 لربما لاتحتاجها جميعها لكن لابد من شرح طريقة وأخذ العلم بها للتوسع ..
بعد الأنتهاء من كتابة كافة تعديلات او اضافة القوالب يتم اغلاق وسم الـ admin_templates
رمز Code:
</admin_templates>

واخيراً في النهاية يتم اغلاق عنصر plugin name الذي تمت كتابتة في السطر الثاني في الأعلى بهذا الشكل
رمز Code:
</plugin>


:. الموضوع الاصلى: هنا | المصدر: المنتدى forum - مجمع السكريبت scriptات | كاتب الموضوع: admin .:









©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى©