在侧边栏中将子类别归入其父类别

同意这一点。关于这个问题有什么更新吗?或者在不久的将来会有吗?

2 个赞

我们目前没有在此处进行其他更改的计划。

请注意,您现在可以看到子类别会显示在其父类别下方(例如,元上的 Documentation 的子类别):

此外,自本次讨论开始以来,用于选择类别的用户界面已发生变化,在该对话框中,子类别是嵌套的。

这将有助于使选择要添加到侧边栏的类别的人更容易发现它们。

3 个赞

您好!

真是巧合,我偶然发现了这篇文章。它和我之前写的一篇文章非常相似。
https://meta.discourse.org/t/navigation-menu-sidebar-modifier/267354/24?u=aizada_m

想知道——discourse 团队是否已经设想了解决方案,或者这个问题是否可以被视为已解决?

我不确定,但我觉得如果 显示父类别,那么也许可以使用 CSS 来定位子类别,使它们缩进以提供嵌套外观?可以考虑使用 ::before 伪元素? :woman_shrugging:t2:

也许我会在更新我的某个导航菜单组件时,看看我能想出什么办法。我脑子里已经有了如何实现的逻辑,但不确定这是否真的可行。在我的设想中,不仅子类别是嵌套的,而且还可以通过单击项目符号来折叠子类别到它们的父类别中。 :laughing: :exploding_head:

5 个赞

我加入进来以便在发生任何更改时收到通知,因为我们也有太多子类别,无法在侧边栏中展示,否则会堆积如山,从而破坏侧边栏带来的用户体验改进。

我们现在最好的解决方案是让用户选择他们的组,并且只显示与这些组相关的类别,再加上一个默认类别,这在用户选择过多并导致侧边栏堆积如山时会失效。

@Lilly 如果该方法不起作用,我想知道是否已经存在创建嵌套类别的工具。

能否告知“添加自定义”部分模块自动将所有顶级类别添加为自己的部分,并在其下方引入子类别?

此方法将为用户提供出色的侧边栏控制,因为它们都内置了编辑功能。

缺点是用户将失去类别的彩色框图标,以及显示每个部分中有多少新帖子的功能。

2 个赞

这个问题有解决方案吗?

似乎很疯狂,我们只能有一个巨大的长列表……甚至没有为子类别添加任何类,我们可以用一个小缩进手动设置样式。

希望实现类似以下的效果:

市场营销 ⌄

  • 以客户为中心
  • 技术
  • 工具

我不知道,我最近一直在思考这个问题——我的意思是整个类别部分都可以由个人用户自定义,这是首选方式,应该受到鼓励。由于可以添加子类别而无需其父类别,并且它们具有半色圆点以指示其子类别状态,因此我认为嵌套/缩进列表并不值得麻烦,尤其是考虑到实现它的艰巨而困难的编程任务。从功能角度来看,也许通过单击项目符号来折叠父类别(例如“更多”部分)的想法比缩进对我来说更有吸引力,尽管这是一项更困难的编程工作。 :thinking:

2 个赞

然后使用子类别的 ID,虽然有点麻烦但可用:

li.sidebar-section-link-wrapper {
  &[data-category-id="10"], /*子类别 ID*/
  &[data-category-id="11"], /*子类别 ID*/
  &[data-category-id="12"], /*子类别 ID*/
  &[data-category-id="13"]  /*子类别 ID*/ {
    margin-left: 1em;
  }
}

8 个赞

太棒了!!!感谢分享 :raised_hands:。我的问题是,侧边栏中的常规链接是否也可以实现类似的功能?:sweat_smile:

打开您的开发者控制台,查看 data-list-item-name 记录:

然后您可以在 CSS 中定位它们,例如:

li.sidebar-section-link-wrapper {
  &[data-list-item-name="New"],
  &[data-list-item-name="Global leaderboard"],
  &[data-list-item-name="Test leaderboard"] {
    margin-left: 1em;
  }
}

使用类似的方法,您可以移动整个部分而不是单个链接:

.sidebar-section-wrapper.sidebar-section[data-section-name="new-global-links-section"] {
    margin-left: 1em;
}

6 个赞

你好 @dax!抱歉回复晚了 :pray:
是的,这是魔法 :sparkles: 而且它奏效了,我过去 3 个月一直在寻找这样的解决方案,我非常感谢你 :raised_hands:

2 个赞

在侧边栏中,我想知道是否可以将子类别显示在其父类别下方并缩进?请看我的侧边栏:

例如,“Events”下面有一个子类别“AGU”,没有缩进。许多用户无法区分颜色,认为“AGU”只是一个不同的类别,与“Events”无关。因此,他们后来将“AGU”搜索为一个类别,而不是子类别,所以他们找不到它。

是否有缩进的选项?如果没有,那会很好。

我想知道我们是否可以简化一下?

在 Category Hider 主题组件中,添加了一个切换按钮来隐藏所有子类别

.hamburger-panel .category-link.subcategory {
      display:none;
}

在此组件之前,我曾手动隐藏所有子类别,逐个定位。直到有人分享了一行代码,可以隐藏所有子类别

li.sidebar-section-link-wrapper {
  .category-link.subcategory {
    margin-left: 1em;
  }
}

我将立即测试上面的代码。

不幸的是,这不起作用。:sad_but_relieved_face:。有没有办法调整这段代码使其生效?

我做了一个简单的组件来实现这个功能

10 个赞

太棒了!谢谢!

1 个赞