Category ID 作为 body class

类别名称将作为 category category-CATEGORY-NAME 添加到 body 的 class-list 中。

我该如何像侧边栏类别链接那样,添加类别 ID 作为数据属性,例如 data-category-id=5

我该如何为我所在的类别页面的 body 添加一个类似的数据属性?

1 个赞

你好 Osman :slight_smile:

这应该可以工作:

<script type="text/discourse-plugin" version="1.4.0">
    const container = Discourse.__container__;
    const controller = container.lookup('controller:navigation/category');
    
    api.onPageChange((url, title) => {
        let categoryId = controller.get("category.id");
        if(categoryId) {
            document.body.setAttribute('data-category-id', categoryId);
        }
        else {
            document.body.removeAttribute('data-category-id');
        }
    });
</script>
2 个赞

感谢 @Canapin,这完美解决了问题 : )

1 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.