البرنامج التعليمي السابق: Developing Discourse Plugins - Part 1 - Create a basic plugin
البدء: قوالب Handlebars
تمت كتابة تطبيق العميل الخاص بـ Discourse باستخدام إطار عمل Ember.js Javascript. يستخدم Ember Handlebars لجميع قوالب HTML. يوجد مقدمة رائعة للغة القوالب في هذا الرابط، لذا تأكد من قراءتها بعناية.
المشكلة: إضافة عناصر إلى واجهة مستخدم Discourse
تحتاج العديد من الإضافات إلى إضافة وتوسيع واجهة الويب الخاصة بـ Discourse. نحن نوفر آلية للقيام بذلك تسمى مخارج الإضافات (plugin outlets) في قوالب Handlebars.
إذا تصفحت قوالب Handlebars الخاصة بـ Discourse، فستجد غالبًا ترميز HTML التالي:
<PluginOutlet @name="edit-topic" />
هذا يعلن عن مخرج إضافة يسمى “edit-topic”. إنها نقطة تمديد في القالب يمكن لمؤلفي الإضافات الاستفادة منها لإضافة ترميز Handlebars الخاص بهم.
عند تأليف إضافتك، ابحث في قوالب Handlebars الخاصة بـ Discourse (في ملفات .hbs) التي تريد تغييرها عن <PluginOutlet />. إذا لم يكن هناك واحد، فما عليك سوى أن تطلب منا تمديده! سنقوم بإضافتها بسعادة إذا كان لديك حالة استخدام جيدة. إذا كنت تريد أن تجعل الأمر أسهل وأسرع بالنسبة لنا للقيام بذلك، يرجى إرسال طلب سحب (pull request) على github!
إذا كنت تريد رؤية بعض الأماكن التي توجد فيها مخارج الإضافات، يمكنك تشغيل الأمر التالي إذا كنت تستخدم نظام التشغيل OSX أو Linux:
git grep "<PluginOutlet" -- "*.hbs"
يمكنك أيضًا عرض مخارج الإضافات على موقع Discourse عن طريق تشغيل شريط أدوات مطوري Discourse. ما عليك سوى كتابة enableDevTools() في وحدة تحكم المتصفح على منتدى Discourse والنقر على أيقونة المكون الإضافي التي تظهر على الجانب الأيسر من الصفحة.
الاتصال بمخرج الإضافة
بمجرد العثور على مخرج الإضافة الذي تريد الإضافة إليه، يجب عليك كتابة “موصل” (connector) له. الموصل هو في الأساس قالب Handlebars يحتوي اسمه الملف على connectors/<اسم المخرج> فيه.
على سبيل المثال، إذا كان قالب Handlebars الخاص بـ Discourse يحتوي على:
<PluginOutlet @name="evil-trout" />
فإن أي ملفات Handlebars تنشئها في الدليل connectors/evil-trout سيتم إلحاقها تلقائيًا. لذلك إذا أنشأت الملف:
plugins/hello/assets/javascripts/discourse/connectors/evil-trout/hello.hbs
بالمحتوى:
<b>Hello World</b>
سيقوم Discourse بإدراج <b>Hello World</b> في تلك النقطة في القالب.
لاحظ أننا سمينا الملف hello.hbs – الجزء الأخير من اسم الملف لا يهم، ولكنه يجب أن يكون فريدًا عبر كل إضافة. من المفيد تسميته بشيء وصفي لما تقوم بتمديده للقيام به. سيجعل هذا تصحيح الأخطاء أسهل في المستقبل.
استكشاف الأخطاء وإصلاحها
- تحقق مرتين من اسم الموصل وتأكد من مطابقته لاسم الإضافة تمامًا.
مزيد من المعلومات
المزيد في السلسلة
الجزء 1: أساسيات الإضافة
الجزء 2: هذا الموضوع
الجزء 3: إعدادات الموقع
الجزء 4: إعداد git
الجزء 5: واجهات المسؤول
الجزء 6: اختبارات القبول
الجزء 7: انشر إضافتك
يتم التحكم في إصدار هذه الوثيقة - اقترح تغييرات على github.



