يبدو أن هذا لم يعد يعمل بعد إهمال Discourse.NavItem، وقد ذكر شخص ما في هذا المنشور أن روابط التنقل العلوية المخصصة يمكن أن تحل المشكلة:
ومع ذلك، لا يقوم هذا المكون بإنشاء روابط ديناميكية بناءً على الموقع الحالي للتحقق من عنوان URL للرابط.
في حالة الاستخدام الخاصة بي، أريد تعيين رابط مختلف للصفحة الرئيسية وللفئات الفرعية، على سبيل المثال، لإظهار عنصر تنقل لفلتر الوسوم “غير مكتمل/مكتمل” بناءً على الفئات الحالية. كنت أستطيع سابقًا استخدام الكود أدناه، لكنه لم يعد يعمل الآن:
<script>
Discourse.ExternalNavItem = Discourse.NavItem.extend({
href : function() {
return this.get('href');
}.property('href')
});
I18n.translations.en.js.filters.unfinished = { title: "tbc", help: "placeholder" };
I18n.translations.en.js.filters.finished = { title: "finished", help: "placeholder" };
Discourse.NavItem.reopenClass({
buildList : function(category, args) {
var list = this._super(category, args);
var url = category ? category.url : "";
// القائمة الرئيسية وفئتان محددتان ستحتويان على عنصرَي تنقل هذين بعناوين URL مختلفة
if(!category || (category && url && (url.includes("mix") || url.includes("other")))) {
var tbc_url = category ? "/tags" + url + "/tbc" : "/tags/tbc";
var finish_url = category ? "/tags" + url + "/finished" : "/tags/finished";
list.push(Discourse.ExternalNavItem.create({href: tbc_url, name: 'tbc'}));
list.push(Discourse.ExternalNavItem.create({href: finish_url, name: 'finish'}));
}
return list;
}
});
</script>
هل يمكن لأحد مساعدتي في كيفية تحديث هذا الكود بناءً على مكون navigation-item الحالي؟ أو سؤال عام أكثر: كيف يمكنني العثور على الاستخدام الحالي للاستبدال الخاص بـ Discourse.NavItem؟
شكرًا!