缩进/嵌套的侧边栏类别或子类别

| | | |\n|— | — | —|\n|:information_source: | 摘要 | 在侧边栏中缩进/嵌套选定的类别或子类别|\n|:hammer_and_wrench: | 存储库 | https://github.com/Lillinator/discourse-nested-categories|\n|: eyeglasses: | 预览 | 在 Discourse 主题创建器上预览|\n|:question: | 安装指南 | 如何安装主题或主题组件|\n|:open_book: | 不熟悉 Discourse 主题? | Discourse 主题使用入门指南|\n\n\u003c!-- 填写“repoName”和“repoURL”以启用自动安装按钮 –\u003e\n\n[wrap=theme-install-button repoName="Discourse Nested Categories" repoUrl="https://github.com/Lillinator/discourse-nested-categories\"]\n安装此主题组件\n[/wrap]\n\n\u003c!-- 用一两句话描述此主题/组件 –\u003e\n\n这个简单的组件有两种使用方式——选择要缩进(或嵌套)在侧边栏中的类别或子类别;或者允许缩进除选定列表之外的所有类别。大多数人会选择只缩进子类别,使它们看起来是嵌套的,但你也可以缩进你列出的任何类别。在桌面和移动视图以及标题下拉菜单中均可使用。感谢 @dax 提供部分代码。\n\n\u003c!-- 添加截图(如果适用) –\u003e\n\n有 3 个设置——根据你的需求,只使用第一个设置,或者使用第二个和第三个设置。\n\n|设置| 描述 |\n|— | —|\n|仅缩进选定类别 | 要缩进的选定类别或子类别的列表。 |\n|缩进除以下类别外的所有类别 | 如果你想缩进除下面列表中的类别之外的所有类别,请启用此设置。上面的列表设置必须为空。|\n| 不缩进的类别 | 不缩进的类别 |\n\n***\n\n### 设置和侧边栏结果的截图\n\n仅缩进选定类别\n\n[details="摘要"]\n设置:\n

\n\n结果:\n\n[/details]\n\n\n\u003cbr\u003e\n\n[details="缩进除指定类别外的所有类别"]\n设置:\n\n\n\n结果:\n\n[/details]\n\n***\n\n注意:如果你想隐藏我的截图中的私有类别(如上面的截图)的类别项目符号上的锁图标,你可以使用此组件

28 个赞

太棒了!这是朝着最终能够使用侧边栏迈出的又一步!

3 个赞

干得漂亮,@Lilly

不过,这并不完全符合我的实例的需求。我的子类别很多,而类别很少——而且子类别变化很快。

对我们的实例来说,如果所有类别+子类别都默认缩进,而列表是用于那些不应该缩进的类别的,那就更好了。

3 个赞

嗯,让我想想——我明白你的意思了。我来稍微调整一下,但无论如何我都会解决你的用例(通过一个单独的组件或几个额外的设置)。我还在考虑包含一个允许格式化或隐藏子类别项目符号的设置。 :thinking:

5 个赞

我已更新组件,允许以相反的方式配置缩进类别——即,缩进除选定列表外的所有类别。希望这能帮助到你。:slight_smile:

6 个赞

这在我们的社区中看起来很棒,谢谢!

2 个赞

请更新此组件。我今天对其进行了少量更新,以修复在使用“缩进除以下类别外的所有类别”设置时,“所有类别”按钮也会被缩进的问题。

4 个赞

嘿 Lilly,我在这两种方式下都很喜欢使用这个 TC!

但我有一个愚蠢的问题:

为什么不干脆默认缩进该组件的所有子类别(而不是所有类别)呢?

干得好,Lilly!

有什么办法可以调整它以同时支持子子类别吗?

这样就可以提供 2 个级别的缩进。

例如:
我们有一个名为“学习”的类别,其子类别为(学习工具和操作方法),子子类别为游戏和最佳实践。
(学习 - 学习工具 - 游戏)和(学习 - 操作方法 - 最佳实践)

如果我们能像这样嵌套游戏和最佳实践,那就太好了。

2 个赞

那看起来不安宁吗?

1 个赞

您好 @Jagster
我不确定您的意思。抱歉 :frowning:

眼睛会因没有直线而感到困惑。这就是为什么我们尽量在文本、工具栏等中保持间距尽可能相同的原因。同时,图标和颜色也会发生变化。主类别的图标具有一定的信息价值,而其他类别则没有。这并不能使导航更容易,反而会适得其反。所有这些基本上都是深度嵌套是个坏主意的主要原因,无论我们谈论的是书籍还是网络。此外,您会失去宝贵的空间,而类别的名称也不再是名称了。

而且,如果您确实有大量的特定主题,以至于您必须使用多个主类别和至少相同数量的子类别,因为您有大量的子子类别(而且所有时间的主类别和第一级子类别都只是显示其他类别的标题),这将导致侧边栏太长,没有人会使用它。

我讨厌大声说出来,但这看起来完全像是 CSS 代码片段,其中使用缩进来显示 { } 对的逻辑结构。它从来都不是为了阅读而设计的。

2 个赞

感谢您在此阐述您的想法,@Jagster。我非常感谢您的反馈。

您提出了许多很好的观点,尤其是在不创建过长的侧边栏以及颜色和图标不协调方面。

我希望我能像手风琴一样展开嵌套的类别,这样我们就可以兼顾两全其美:侧边栏简洁,同时又能快速浏览网站。

1 个赞

我建议阅读这个话题,特别是关于 Wix 论坛及其类别简洁性的帖子。

另外请记住,您的用户可以自定义他们自己的类别侧边栏部分。

老实说,我认为这里的子子类别嵌套方式行不通,我认为这会造成视觉上的混乱。甚至不确定这个组件是否支持这种功能……

6 个赞

我刚刚在我的实例上安装了这个插件,但我的所有子类别都没有缩进……
至少我是这么想的。我将其设置为除选定项外全部缩进,并留空列表。
起初我没有意识到它缩进了所有内容,包括类别。
有什么办法可以更新这个插件,增加一个选项来简单地“缩进所有子类别”吗?你可以添加一个排除列表,但根据我的使用情况,我总是希望子类别缩进,而类别不缩进。

对于您的用例,为什么不直接将类别放在“不缩进的类别”框中?

我同意,直接缩进子类别会更好。但是,在 @Lilly 开发此 TC 时,实现这一点相当棘手。就个人而言,我认为上述解决方案非常可行,除非您的类别异常动态。

既然我在这里……

功能请求 - 可展开/可折叠的子类别

这在这里讨论过:

我想知道这是否可以作为此主题组件的扩展。

如果我们有人有兴趣联手,我们可能会有一些预算用于此。

1 个赞

顺便提一下,我发现我添加的 JS(我还得分享一些我做的额外修改)作为一种临时解决方案,它基本上就是在页面加载时折叠子类别,并允许用户通过注入一个 Chevron 来展开或访问父类别。唯一的问题是有些交互会完全重写导航栏,所以 JS 必须重新应用其类,以保持子类别的折叠状态(比如与顶部的汉堡菜单交互,或者在移动端)。

当然,我就是这么做的。我只是没有立刻“理解”。
现在我正在构建一个新网站,因为我不断添加类别和子类别,所以这有点麻烦。一旦开发完成,事情就会基本固定下来。

1 个赞