قد يكون هناك طريقة للقيام بذلك بشكل متسق عبر صفحات المواضيع وصفحات التصنيفات، لكنني حصلت على معرف التصنيف بطريقتين مختلفتين… واحدة لصفحات التصنيفات:
<script type="text/discourse-plugin" version="0.8">
const container = Discourse.__container__;
const controller = container.lookup('controller:navigation/category');
api.onPageChange((url, title) => {
console.log(controller.get("category.id"));
});
</script>
وطريقة مشابهة لصفحات المواضيع:
<script type="text/discourse-plugin" version="0.8">
const container = Discourse.__container__;
const controller = container.lookup('controller:topic');
api.onPageChange((url, title) => {
console.log(controller.get("model.category_id"));
});
</script>
في مثال صفحة التصنيف، يمكنك استخدام category.name أو category.slug بديلاً، لكن مع نموذج الموضوع، يتوفر فقط category_id، لذا ستحتاج إلى بذل جهد إضافي قليلاً هناك للحصول على الاسم. قد يكون المعرف (ID) المسار الأفضل على أي حال لأنه متسق حتى لو تغير اسم التصنيف أو السلاغة (slug).