أرغب في تعديل بعض الأساليب في نتائج البحث (القائمة المنسدلة من فئة العدسة المكبرة في أعلى اليمين). يبدو أن هذا يقوم الآن بإنشاء مكونات ديناميكيًا (في app/assets/javascripts/discourse/app/lib/search.js) بدلاً من استخدام قالب. يبدو أنني غير قادر على القيام بذلك
تحديث: كان إنشاء HTML في تلك الأداة معقدًا للغاية وكان لديها العديد من التبعيات الخارجية. لم أرغب أيضًا في نسخ كل هذا الرمز إلى المكون الإضافي الخاص بنا، لذا انتهى بي الأمر بفعل هذا
api.reopenWidget(`search-result-topic`, {
html(attrs) {
const html = this._super(attrs);
// تعديل html كما نراه مناسبًا
return html;
}
});
يعد تعديل HTML الذي تم إنشاؤه بالفعل ربما ليس الطريقة الأكثر أناقة للقيام بذلك، ولكنه أنقذني من الاضطرار إلى نسخ كتلة كبيرة من التعليمات البرمجية من النواة إلى المكون الإضافي، مما يجعل المكون الإضافي أكثر قوة ضد تحديثات النواة المستقبلية.