所以,我的类别列表是这样的:
我注意到,即使我知道结构,我也倾向于选择一个子类别,而不是点击大的“新闻与公告”类别。有没有办法轻松添加一个“全部”链接,指向 https://discussion.fedoraproject.org/c/news/5(与点击标题相同),放在子类别之前或之后?
所以,我的类别列表是这样的:
我注意到,即使我知道结构,我也倾向于选择一个子类别,而不是点击大的“新闻与公告”类别。有没有办法轻松添加一个“全部”链接,指向 https://discussion.fedoraproject.org/c/news/5(与点击标题相同),放在子类别之前或之后?
我目前的想法是根本不允许在顶层发布帖子,并在第一层下创建一个名为“news”的二级类别。
我很想听听其他想法!
您可以尝试使整个容器可点击。
如果您点击一个子类别,您将被带到该子类别。如果您点击类别容器内的任何其他位置,您将被带到父类别的页面。
这部分内容应放在 common > header 选项卡中。
<script type="text/discourse-plugin" version="0.8">
const DiscourseURL = require("discourse/lib/url").default;
api.modifyClass("component:categories-and-latest-topics", {
pluginId: "clickable-category-boxes",
click(event) {
const target = event.target;
const categoryContainer = target.closest("[data-category-id]");
if (!categoryContainer) {
return;
}
const isSubcategoryLink = target.closest(".badge-wrapper");
if (isSubcategoryLink) {
return;
}
const categoryLink = categoryContainer.querySelector(
".category-title-link"
);
const categoryURL = categoryLink.href;
DiscourseURL.routeTo(categoryURL);
},
});
</script>
这部分内容应放在 common > CSS 选项卡中。
.category-list [data-category-id] {
cursor: pointer;
}