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

**URL:** <https://meta.discourse.org/t/add-an-all-link-to-the-first-level-forum-next-to-the-subcategory-list/214101>\
**Category:** Support\
**Created:** [2022年一月6日 22:56 UTC](https://meta.discourse.org/t/add-an-all-link-to-the-first-level-forum-next-to-the-subcategory-list/214101 "2022-01-06T22:56:14Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![mattdm](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mattdm/32/216484_2.png) [@mattdm](https://meta.discourse.org/u/mattdm)\
**Post date:** [2022年一月6日 22:56 UTC](https://meta.discourse.org/t/add-an-all-link-to-the-first-level-forum-next-to-the-subcategory-list/214101/1 "2022-01-06T22:56:14Z")

</div>

所以，我的类别列表是这样的：

 ![image](https://global.discourse-cdn.com/meta/original/3X/e/9/e9d13628da2209e957cbe17c1a5c194d95f14c07.png)

我注意到，即使我知道结构，我也倾向于选择一个子类别，而不是点击大的“新闻与公告”类别。有没有办法轻松添加一个“全部”链接，指向 [https://discussion.fedoraproject.org/c/news/5（与点击标题相同），放在子类别之前或之后？](https://discussion.fedoraproject.org/c/news/5%EF%BC%88%E4%B8%8E%E7%82%B9%E5%87%BB%E6%A0%87%E9%A2%98%E7%9B%B8%E5%90%8C%EF%BC%89%EF%BC%8C%E6%94%BE%E5%9C%A8%E5%AD%90%E7%B1%BB%E5%88%AB%E4%B9%8B%E5%89%8D%E6%88%96%E4%B9%8B%E5%90%8E%EF%BC%9F)

---

<div class="post-metadata">

**Author:** ![mattdm](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mattdm/32/216484_2.png) [@mattdm](https://meta.discourse.org/u/mattdm)\
**Post date:** [2022年一月13日 02:07 UTC](https://meta.discourse.org/t/add-an-all-link-to-the-first-level-forum-next-to-the-subcategory-list/214101/2 "2022-01-13T02:07:29Z")

</div>

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

我很想听听其他想法！

---

<div class="post-metadata">

**Author:** ![Johani](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/johani/32/176920_2.png) [@Johani](https://meta.discourse.org/u/Johani)\
**Post date:** [2022年一月18日 23:00 UTC](https://meta.discourse.org/t/add-an-all-link-to-the-first-level-forum-next-to-the-subcategory-list/214101/3 "2022-01-18T23:00:10Z")

</div>

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

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

这部分内容应放在 `common > header` 选项卡中。

```xml
<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` 选项卡中。

```css
.category-list [data-category-id] {
  cursor: pointer;
}

```
