我正在进行迁移到 Discourse 的工作。在旧论坛上,我们有很多分类和子分类。其中一个分类有大约 10 个子分类,出于显而易见的原因,我们一直避免添加更多子分类。
假设示例:
想象一个美食分类,下面有亚洲、欧洲、美洲等子分类。
我喜欢去掉子分类并使用标签的想法。一个主题可以应用多个标签,我们可以创建更多标签而不用担心因无休止的分类或不常用的标签而污染模式。想象一下像日式、中式、泰式、尼泊尔式、意大利面、鸡蛋、炒、技巧、面条、早餐这样的标签。
但我的一个问题是,标签在分类视图页面上不像子分类那样突出显示,如上图所示。
我希望一部分标签或一个标签组(仅亚洲、欧洲、美洲)能在分类页面上突出显示给用户,以便于浏览和发帖。
标签似乎也缺乏顺序/位置的概念。
但标签确实有描述,这和分类一样,非常好。
所以,尽管标签有优点,但我对它们缺少一些分类所拥有的“一流”功能的看法是正确的吗?
这些东西是否可以通过主题组件实现?比如至少在分类页面的分类内突出显示一个标签组?
或者一个分类标签云,里面有一个置顶的标签组?那样的东西可能会很酷。
我曾考虑保留一些最基本的子分类,其余的则使用标签,但我的问题是子分类是互斥的。例如,将一个主题同时标记为亚洲和欧洲是完全合理的。
感谢您的见解。
我的解决方案是创建一个带有重点标签的站点地图主题。
Discourse 是一个很棒的软件。我喜欢你可以在帖子编辑器中使用 # 来调用一个类别或标签(如果类别和标签同名存在歧义,可以附加 ::tag)。
下面是一个例子:
# 站点地图
## #food
- #asia #europe #america
- #breakfast #lunch #dinner
- #noodle #soup #baking
- #technique #healthy
这允许我以任何我想要的顺序/组织方式来展示/强调标签的子集。
剩下的问题是如何展示这个站点地图。
我可以使用自定义侧边栏部分,但老实说,如果它属于侧边栏的任何地方,它应该属于顶部(社区)部分。或者在类别之上。
我可以用 JS 注入它,但希望有一天能编辑社区侧边栏部分的功能。
另外,我曾考虑过尝试创建一个主题组件,在主页上显示主题的内容。也许它已经存在了?
这是它外观的预览(标签是随意选择的):
- #documentation:admins #documentation:moderators #documentation:users #documentation:sysadmin #documentation:theme-developers #documentation:devs
- migrations
到目前为止,我遇到的两个最大的问题是:
- 似乎无法在帖子中调用
# 时悬停查看标签和类别描述。
- 对于在多个类别中使用的标签,如上所示,点击标签并没有太大用处。我可能需要链接到类似
/tags/c/documentation/10/reference 的地方,而不是 /tags/reference,这在某种程度上破坏了它的简洁性,但也不是不可接受。如果能做到类似 #reference::category:documentation → /tags/c/documentation/10/reference 这样的操作就太好了。