在子类别列表旁边为一级论坛添加一个“全部”链接?

所以,我的类别列表是这样的:

我注意到,即使我知道结构,我也倾向于选择一个子类别,而不是点击大的“新闻与公告”类别。有没有办法轻松添加一个“全部”链接,指向 https://discussion.fedoraproject.org/c/news/5(与点击标题相同),放在子类别之前或之后?

1 个赞

我目前的想法是根本不允许在顶层发布帖子,并在第一层下创建一个名为“news”的二级类别。

我很想听听其他想法!

2 个赞

您可以尝试使整个容器可点击。

如果您点击一个子类别,您将被带到该子类别。如果您点击类别容器内的任何其他位置,您将被带到父类别的页面。

这部分内容应放在 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;
}
1 个赞