[ حصريا ] دورة برمجة الاضافات - [ الدرس الاخير - تصدير الاضافة ]

shqawe

ربي أشرح لي صدري
طاقم الإدارة
إنضم
27 يونيو 2019
المشاركات
3,370
مستوى التفاعل
2,918
النقاط
113
الإقامة
K.S.A
  • التقييمات: 0
  • #1
بسم الله الرحمن الرحيم

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

اللهم لا علم لنا إلا ما علمتنا، إنك أنت العليم الحكيم، اللهم علمنا ما ينفعنا، وانفعنا بما علمتنا، وزدنا علما،

وها نحن نصل الى درسنا الاخير من دروس دورة برمجة الاضافات ومن فاتته الدروس السابقة يستطيع مراجعة فهرس الدورة عن طريق الرابط التالي:



في الدرس السابق قمنا بالتعامل مع تعديلات القوالب تلقائيا ً دون التعديل على اي قالب

وفي درسنا اليوم سوف نتكلم باذن الله عن كيفية تصدير الاضافة ولكن قبل ذلك سوف نتكلم قليلاً عن

ملف addon.json

وهذا الملف يتم انشائه تلقائيا ً عند انشاء الاضافة ومحتوياته كالتالي وسوف تجدون شرح بسيط داخل الكود:

JavaScript:
{
    "legacy_addon_id": "معرف الاضافة",
    "title": "اسم الاضافة",
    "description": "وصف الاضافة",
    "version_id": "1000010", // اصدار الاضافة 
    "version_string": "1.0.0 النسخة", // اصدار الاضافة
    "dev": "اسم مبرمج الاضافة",
    "dev_url": "رابط موقع مبرمج الاضافة",
    "faq_url": "رابط التعليمات",
    "support_url": "رابط الدعم",
    "extra_urls": [],// روابط اضافية
    "require": [], // متطلبات اضافية
    "icon": "fa-users" // ايقونة الاضافة
}


الان سوف نقوم بالتعديل على الملف الخاص بالاضافة ونضيف له المعلومات التالية :

JavaScript:
{
    "legacy_addon_id": "",
    "title": "اول اضافة لدورة زين فورو",
    "description": "هذه هي اول اضافة لدورة برمجة الاضافات من معهد الزين فورو",
    "version_id": 1,
    "version_string": "1.0.0",
    "dev": "SHQAWE",
    "dev_url": "https://xenarabia.com/threads/363/",
    "faq_url": "https://xenarabia.com/threads/363/",
    "support_url": "https://xenarabia.com/threads/363/",
    "extra_urls": [],
    "require": [],
    "icon": "fa-user"
}

الان بعد اضافة المعلومات احفظ الملف وتوجه الى:

لوحة التحكم > الاضافات وابحث عن اضافاتنا سوف تجدها كالصورة التالية:


l-1.jpg

ستلاحظون ان العنوان والايقونة لم يتغيران

و رابط المطور و رابط التعليمات و رابط الدعم لم يظهرون

ولكن كما ترون هناك مربع ازرق مكتوب عليه [ التغييرات المعلقة ] وهذا معناة ان التغيير الذي قمنا به يحتاج الى مزامنة لكي يتم تطبيقة

لذا سوف نقوم بالضغط على السهم الموجود في المنطقة اليسرى ونختار منه مزامنة التغييرات كما بالصورة التالية:

l-2.jpg

الان لو عدنا الى الى الاضافات وقمنا بتحديث الصفحة سوف نرى النتيجة التالية:


l-3.jpg

ستلاحظون ان العنوان تغير والايقونة كذلك وروابط المطور والتعليمات والدعم تم ظهورها وتطبيقها.

الان لم يتبقى لنا الا تصدير الاضافة ولتصدير الاضافة نحتاج لان نعود الى اول نقطة بدأنا بها دورتنا وهي شاشة اوامر التشغيل او ما يسمى بال DOS او Terminal

لذا نفتح سطر اوامر التشغيل ونتأكد اننا في في مسار نسخة الزين فورو بمعنى لو افترضنا ان السيرفر المحلي على القرص c فسوف يكون المسار كالتالي:

HTML:
C:\xampp\htdocs\xenforo


ونقوم بكتابة هذا الكود

PHP:
 php cmd.php xf-addon:build-release MyFirstAddon

ولنشرح الكود قليلاً

اول الاوامر وهو :

كود:
php cmd.php xf

وهذا الامر استطيع ان اوقول هو الامر الرئيسي لبرنامج الزين فورو فلو كتبت هذا الامر فقط وضغط Enter سوف تظهر لك نتيجة كتابته جميع سطور اوامر الزين فورو

ونحن لا نحتاج من هذه الاوامر الا الامر

HTML:
 xf-addon:build-release

وبعد هذا الامر نقوم بكتابة اسم اضافتنا وفي دورتنا كان اسم اضافتنا هو MyfirstAddon وهو نفس اسم مجلد اضافتنا لمن لم يتذكره

الان بعد كتابة الامر والضغط على Enter سوف يتم تصدير ملف مضغوط خاص باضافتنا سوف تجدونه على المسار التالي:

كود:
C:\xampp\htdocs\xenforo\src\addons\MyFirstAddon\_releases

عند الذهاب الى هذا المجلد سوف تجدون ملف مضغوط باسم اضافتنا ونسختها

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

بعض النصائح:

- اتمنى ممن تابع هذه الدورة ان يقوي نفسه في اللغات التي ذكرتها في اول الدورة HTML, CSS, PHP ,JAVASCRIPT او JQUERY فمن لديه المعرفة في هذه اللغات سوف يستطيع الابحار بسهولة.

- حاول ان تقوم بفتح اضافات مبرمجين اخرين والتوغل فيها وفي ملفاتها وانظر كيف تم بناء هذه الاضافة فلكل مبرمج طريقته الخاصة في البرمجة وقد تأخد من كل منهم معلومة جديدة.
- قم بقرائة دليل المبرمجين الموجود في موقع الشركة ففيه بعض الاساسيات وبعض المعلومات التي لم اذكرها كلها في هذه الدورة

في النهاية ممكن ان يتبادر في الاذهان ان هذه الدورة لم تحمل الكثير من المعلومات ولكن ما اردته من هذه الدورة هو ان اقوم بفتح الطريق لمن اراد تعلم برمجة الاضافات فكبداية في البرمجة كان ينقصني المفتاح وهو ما قدمته في هذه الدورة يتبقى الاحتراف وهذا الشيء يأتي منك انت عزيزي المتابع تحتاج لكي تبحث هنا وهناك لكي تصل الى الاحتراف والتقدم والتطور.

اتمنى للجميع كل التوفيق في عالم برمجة الاضافات واتمنى ان ارى اخواني العرب يبدعون وينافسون الغرب في البرمجة فهم ليسو افضل منا في اي شيء

في النهاية ان اصبت فمن فضل الله علي وان اخطأت فجل من لايخطأ

احترامي وتقديري
اخوكم
شقاوي
 

أبو غَيْث

:: الإدارة العامة ::
طاقم الإدارة
إنضم
23 يناير 2019
المشاركات
5,768
مستوى التفاعل
3,931
النقاط
113
العمر
41
الإقامة
المغرب
الموقع الالكتروني
بسم الله ما شاء الله
أسأل الله أن يبارك في صحتك و رزقك و أهلك

لقد وعدت فاوفيت .. و انجزت فاحسنت
وقدمت هذه الدورة الرائعة في برمجة اضافات xenforo و طبعا مثل هذه الدورات لن تجدها مجانا خصوصا في وقتنا هذا
لكنك ابيت الا ان تضحي بوقتك و تفيد اخوانك بما علمك الله و بدون اي مقابل

فاسال الله ان يجعلها في ميزان حسناتك ..

دمت بود يالغالي
 
التعديل الأخير:

shqawe

ربي أشرح لي صدري
طاقم الإدارة
إنضم
27 يونيو 2019
المشاركات
3,370
مستوى التفاعل
2,918
النقاط
113
الإقامة
K.S.A
بسم الله ما شاء الله
أسأل الله أن يبارك في صحتك و رزقك و أهلك

لقد وعدت فاوفيت .. و انجزت فاحسنت
وقدمت هذه الدروة الرائعة في برمجة اضافات xenforo و طبعا مثل هذه الدورات لن تجدها مجانا خصوصا في وقتنا هذا
لكنك ابيت الا ان تضحي بوقتك و تفيد اخوانك بما علمك الله و بدون اي مقابل

فاسال الله ان يجعلها في ميزان حسناتك ..

دمت بود يالغالي

الله يتقبل دعواتك اخوي @XenArabia

واحمد الله ان اعانني على اتمام هذه الدورة واسأل الله ان يعينني على تقديم المزيد باذن الله

وانتم والمعهد تستحقون ان يبذل لكم الغالي والنفيس 🙏


في ميزان حسناتكم ان شاء الله اخي شقاوي
كفيت و وفيت :)

اللهم امين واياك اخوي @bousaid

واتمنى ان تفيدنا بخبرتك ببعض الدروس المتقدمة كـ php callback و model و controller

ولو كان كل درس على حدة فانت ما شاء الله عليك شجر معرفة نحتاج الى قطفها 😁

احترامي وتقديري
اخوكم
شقاوي
 

أبو عبدالله

:: الأعضاء ::
إنضم
2 فبراير 2019
المشاركات
131
مستوى التفاعل
134
النقاط
43
الإقامة
مكة المكرمة
ماشاء الله تبارك الله

الله يعطيك الصحة والعافية يا استاذ تركي

ابدعت في الشرح وكفيت ووفيت الله يجزاك عنا خير الجزاء

شكرا لك ياغالي :love:(y)
 

shqawe

ربي أشرح لي صدري
طاقم الإدارة
إنضم
27 يونيو 2019
المشاركات
3,370
مستوى التفاعل
2,918
النقاط
113
الإقامة
K.S.A
ماشاء الله تبارك الله

الله يعطيك الصحة والعافية يا استاذ تركي

ابدعت في الشرح وكفيت ووفيت الله يجزاك عنا خير الجزاء

شكرا لك ياغالي :love:(y)

يالله حي الشيخ @أبو عبدالله

وازين ما قلت ذكر الله واحمد الله الي بذكره تتم الصالحات ان وفقنا في الشرح

ونتمنى ان الدورة تفيد وتكون واضحة للكل ان شاء الله

احترامي وتقديري
اخوك
شقاوي
 

MesterPerfect

:: مراقب زين العربية ::
طاقم الإدارة
إنضم
28 يناير 2019
المشاركات
2,721
مستوى التفاعل
2,180
النقاط
113
العمر
24
الإقامة
sohag, Egypt
الموقع الالكتروني
أخيي الحبيب شقاوي
جربت حظي مع إضافة ويظهر لي هذا الخطأ
JSON:
{
    "legacy_addon_id": "AddPaginationToTop",
    "title": "إضافة ترقيم الصفحات إلى أعلى القوائم",
    "description": "تقوم هذه الإضافة بإضافة ترقيم الصفحات إلى أعلى قائمة المستخدمين والقوالب والعبارات لتسهيل التنقل",
    "version_id": 1,
    "version_string": "1.0.0",
    "dev": "MesterPerfect",
    "dev_url": "https://xenarabia.com/members/6/",
    "faq_url": "https://xenarabia.com",
    "support_url": "https://xenarabia.com",   
}
هذه المعلومات في ملف addon.json ولكن في لوحة التحكم يخرج لي هذا الخطأ
عدم تطابق الإصدار
ملفات الإضافة لا تظهر أنها من الإصدار الصحيح. يرجى إعادة تحميل الملفات الصحيحة.
فما السبب يا ترا
 

shqawe

ربي أشرح لي صدري
طاقم الإدارة
إنضم
27 يونيو 2019
المشاركات
3,370
مستوى التفاعل
2,918
النقاط
113
الإقامة
K.S.A
حي الله الغالي احمد

السبب في رقم اﻻصدار version_id ﻻبد ان يكون بهذه الطريقة 1000010 وانت واضع فقط رقم واحد ولذلك رقم اﻻصدار ﻻ يتطابق جرب تغييره واعطائنا النتائج
 

MesterPerfect

:: مراقب زين العربية ::
طاقم الإدارة
إنضم
28 يناير 2019
المشاركات
2,721
مستوى التفاعل
2,180
النقاط
113
العمر
24
الإقامة
sohag, Egypt
الموقع الالكتروني
حي الله الغالي احمد

السبب في رقم اﻻصدار version_id ﻻبد ان يكون بهذه الطريقة 1000010 وانت واضع فقط رقم واحد ولذلك رقم اﻻصدار ﻻ يتطابق جرب تغييره واعطائنا النتائج
حياك الله يالغالي
نفس المشكلة بعد التعديل
JSON:
{
    "legacy_addon_id": "AddPaginationToTop",
    "title": "إضافة ترقيم الصفحات إلى أعلى القوائم",
    "description": "تقوم هذه الإضافة بإضافة ترقيم الصفحات إلى أعلى قائمة المستخدمين والقوالب والعبارات لتسهيل التنقل",
    "version_id": 1000010,
    "version_string": "1.0.0",
    "dev": "MesterPerfect",
    "dev_url": "https://xenarabia.com/members/6/",
    "faq_url": "https://xenarabia.com",
    "support_url": "https://xenarabia.com",   
}
 

shqawe

ربي أشرح لي صدري
طاقم الإدارة
إنضم
27 يونيو 2019
المشاركات
3,370
مستوى التفاعل
2,918
النقاط
113
الإقامة
K.S.A
تأكد انه تم التعديل في قاعدة البيانات
 

shqawe

ربي أشرح لي صدري
طاقم الإدارة
إنضم
27 يونيو 2019
المشاركات
3,370
مستوى التفاعل
2,918
النقاط
113
الإقامة
K.S.A
بمجرد ما تقوم بانشاء اﻻضافة عن طريق اﻻوامر يتم زرع معلومات ملف addon.json الى قاعدة البيانات فاﻻن عليك الذهاب الى قاعدة البيانات وفتح جدول xf_addon

وراح تجد اﻻضافة الخاصة بك في هذا الجدول تأكد من حقل version_id هل قيمته مطابقة لنفس القيمة الموجودة في ملف json او ﻻ
 

MesterPerfect

:: مراقب زين العربية ::
طاقم الإدارة
إنضم
28 يناير 2019
المشاركات
2,721
مستوى التفاعل
2,180
النقاط
113
العمر
24
الإقامة
sohag, Egypt
الموقع الالكتروني
بمجرد ما تقوم بانشاء اﻻضافة عن طريق اﻻوامر يتم زرع معلومات ملف addon.json الى قاعدة البيانات فاﻻن عليك الذهاب الى قاعدة البيانات وفتح جدول xf_addon

وراح تجد اﻻضافة الخاصة بك في هذا الجدول تأكد من حقل version_id هل قيمته مطابقة لنفس القيمة الموجودة في ملف json او ﻻ
عدلتها فعلا ونفس المشكلة
سأجرب إنشائها من البداية ربما هناك خطأ ما
 

MesterPerfect

:: مراقب زين العربية ::
طاقم الإدارة
إنضم
28 يناير 2019
المشاركات
2,721
مستوى التفاعل
2,180
النقاط
113
العمر
24
الإقامة
sohag, Egypt
الموقع الالكتروني
أخي الحبيب @shqawe
انا أقوم بإنشاء الإضافة بشكل طبيعي
في الID اكتب اسمها بالإنجليزية دون فواصل MyAddon
وفي الtitle اكتب اسمها بالإنجليزية أيضا My addon
ولكن عند تعديل ملف addon.json وتغيير ال title بآخر عربي تظهر مشكلة عدم التوافق
أنا استخدم Xampp على نظام windows
سوف أجرب الssh على الserver بعد أن يتحسن الأنترنت ربما العيب من Xampp
 

shqawe

ربي أشرح لي صدري
طاقم الإدارة
إنضم
27 يونيو 2019
المشاركات
3,370
مستوى التفاعل
2,918
النقاط
113
الإقامة
K.S.A
حياك الله حيبي احمد

عند التعديل على ملف addon.json ﻻبد من مزامنة التغييرات التي اجريتها على الملف من لوحة التحكم عن طريق صفحة اﻻضافات

ومن ثم من القائمة المنسدلة التي تأتي بجانب اﻻضافة سوف تجدي خيار باسم مزامنة التغييرات قم بالضغط عليه لكي يقوم بتحديث معلومات اﻻضافة في قاعدة البيانات ويتم مزامنة الملف مع قاعدة البيانات لكي يتم التوافق بدون مشاكل
 

MesterPerfect

:: مراقب زين العربية ::
طاقم الإدارة
إنضم
28 يناير 2019
المشاركات
2,721
مستوى التفاعل
2,180
النقاط
113
العمر
24
الإقامة
sohag, Egypt
الموقع الالكتروني
حياك الله حيبي احمد

عند التعديل على ملف addon.json ﻻبد من مزامنة التغييرات التي اجريتها على الملف من لوحة التحكم عن طريق صفحة اﻻضافات

ومن ثم من القائمة المنسدلة التي تأتي بجانب اﻻضافة سوف تجدي خيار باسم مزامنة التغييرات قم بالضغط عليه لكي يقوم بتحديث معلومات اﻻضافة في قاعدة البيانات ويتم مزامنة الملف مع قاعدة البيانات لكي يتم التوافق بدون مشاكل
تمام يا غالي تم الأمر وكله تمام
عندي سؤال آخر هذه المرة 😊
انا قمت بإنشاء إضافة وطبعا مسارها يكون بهذا الشكل
src/addons/MyFirstAddons
أريد جعله هاكذا
src/addons/MesterPerfect/MyFirstAddons
how? كيف؟
 

shqawe

ربي أشرح لي صدري
طاقم الإدارة
إنضم
27 يونيو 2019
المشاركات
3,370
مستوى التفاعل
2,918
النقاط
113
الإقامة
K.S.A
تمام يا غالي تم الأمر وكله تمام
عندي سؤال آخر هذه المرة 😊
انا قمت بإنشاء إضافة وطبعا مسارها يكون بهذا الشكل
src/addons/MyFirstAddons
أريد جعله هاكذا
src/addons/MesterPerfect/MyFirstAddons
how? كيف؟

بكل سهولة عند انشاء اﻻضافة اضف المجلد قبل مجلد اﻻضافة بمعنى اﻻمر سوف يكون بهذه الطريقة

كود:
php cmd.php xf-addon:create MesterPerfect/MyFirstAddons
 

MesterPerfect

:: مراقب زين العربية ::
طاقم الإدارة
إنضم
28 يناير 2019
المشاركات
2,721
مستوى التفاعل
2,180
النقاط
113
العمر
24
الإقامة
sohag, Egypt
الموقع الالكتروني
بكل سهولة عند انشاء اﻻضافة اضف المجلد قبل مجلد اﻻضافة بمعنى اﻻمر سوف يكون بهذه الطريقة

كود:
php cmd.php xf-addon:create MesterPerfect/MyFirstAddons
رائع, جميل,
طيب لو إضافة موجودة لدي مسبقا هل أقدر أعدلها ولا لازم أعيد إنشائها
 

shqawe

ربي أشرح لي صدري
طاقم الإدارة
إنضم
27 يونيو 2019
المشاركات
3,370
مستوى التفاعل
2,918
النقاط
113
الإقامة
K.S.A
اتوقع صعب التعديل عليها وللامانة لم اقم بالتجربة سابقا ً خصوصا ً انه عند انشاء اي اضافة يتم استخدام الهاش hash في تشفير خصائص اﻻضافة فاتوقع صعب تعديلها
 

MesterPerfect

:: مراقب زين العربية ::
طاقم الإدارة
إنضم
28 يناير 2019
المشاركات
2,721
مستوى التفاعل
2,180
النقاط
113
العمر
24
الإقامة
sohag, Egypt
الموقع الالكتروني
اتوقع صعب التعديل عليها وللامانة لم اقم بالتجربة سابقا ً خصوصا ً انه عند انشاء اي اضافة يتم استخدام الهاش hash في تشفير خصائص اﻻضافة فاتوقع صعب تعديلها
it's ok
سأعيد إنشائها من الصفر فهي ليست معضلة
 

جميع المواضيع والمشاركات والتعليقات المكتوبة تعبّر عن وجهة نظر صاحبها ,, ولا تعبّر بأي شكل من الاشكال عن وجهة نظر إدارة زين العربية .ولا نتحمل أي مسؤولية قانونية حيال ذلك :: يتحمل كاتبها مسؤولية النشر ::

الأعضاء المتصلون

لا يوجد أعضاء متصلون الآن.

إحصائيات المنتدى

المواضيع
2,093
المشاركات
22,026
الأعضاء
984
آخر عضو مسجل
mabdelwanis
أعلى