Is it possible to create subcategories within subcategories? For example, can I have a grandparent category, parent subcategory, and child subcategory? If not, is there any alternative to creating a separate instance for each “grandparent”?
No, there are only two levels of categories in Discourse.
We’ll combine the 2 levels of categories with tags. It’s not just about taxonomy, it’s also about moderation rights.
Will 3 levels of categorization be possible in the future? My site is about 4 sports, then within each sport, I want a category called “Gear”, and then within “Gear” have the different brands.
I could also do a top level category called Gear, and then have the Gear Companies underneath.
Or just have the Gear companies for each sport listed directly under the sport.
No plans for more than 2 levels of categories. As @jeans noted, adding tags into the mix makes more sense at that point. So use the official tag support built into Discourse.
@codinghorror What would be the technical implications of allowing deeper nesting of categories? I don’t have a specific requirement in mind, just curious. I can see UI concerns, but the data model looks like it could handle chains of parents.
Here a typical case where we need to configure Discourse with 3 levels,
Local Groups - Open Knowledge Forums
the local-groups are in fact the “level zero”, in some cases we also change language (!), as at local-groups/okbr. The main topics are at this level-2, it is ok, but…
The level-3 is important to isolate very distinct topics and/or communities:
-
to isolate official topics. Example: today we use the “official” tag as here, but we need to isolate as
local-groups/okbr/oficial, -
to isolate projects, because they have independent communities and very specific topics. Example: this project was losted in an external category, openspending/gastos-abertos, we need an intersection between
openspendingandlocal-groups/okbrand we understand that the second is the priority, so need categorylocal-groups/okbr/prj-gastos-abertosthat is a typical “local group project” category.
This is interesting that have you decided that any existing field of knowledge may require to be split by exactly one level of categories but never by level two or higher. While I don’t know your exact reasoning but for me it’s very hard to believe that this can be the truth.
Two levels, not three. And we’re not the only people to think so.
We were very proud of our user interface and the fact that we had a way to browse 16,000 (!!) pages of documentation on a CD-ROM. But browsing the hierarchy felt a little complicated to us. So we asked Tufte to come in and have a look, and were hoping perhaps for a pat on the head or some free advice.
He played with our AnswerBook for about 90 seconds, turned around, and pronounced his review:
“Dr Spock’s Baby Care is a best-selling owner’s manual for the most complicated ‘product’ imaginable – and it only has two levels of headings. You people have 8 levels of hierarchy and I haven’t even stopped counting yet. No wonder you think it’s complicated.”
How can you actually tag a category?
您好,感谢您提供的出色的讨论工具和社区。我想了解是否有可能动态创建子子类别?如何使用标签来实现?
试试这个
现在您可以创建子类别了,只需将父类别设为您想要在其下添加子类别的类别即可。
现在可以通过隐藏的站点设置更改子类别的级别:
cd /var/discourse/
./launcher enter app
rails c
SiteSetting.max_category_nesting = 3
他指的是子子类别,也就是第三级,而不是第二级(子类别)。
好的。这个隐藏设置使得创建子子类别(三级,因此设置中有个3)成为可能。我想它已经存在一年了,但添加时并没有引起太多关注(它只是出现在了发布说明中,但可能没有标题)。我猜一定有企业客户想要这个功能,但他们仍然认为这是一个糟糕的主意。![]()



