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.
Интересно, что вы решили, будто любая существующая область знаний может требовать разделения ровно на один уровень категорий, но никогда — на два или более. Хотя я не знаю ваших точных рассуждений, мне очень трудно поверить, что это может быть правдой.
Два уровня, а не три. И мы не единственные, кто так считает.
Мы очень гордились нашим пользовательским интерфейсом и тем, что у нас был способ просматривать 16 000 (!!) страниц документации на CD-ROM. Но навигация по иерархии казалась нам немного запутанной. Поэтому мы пригласили Тафти взглянуть на это, надеясь, возможно, получить похвалу или бесплатный совет.
Он поработал с нашим AnswerBook около 90 секунд, повернулся и вынес вердикт:
«Книга доктора Спока по уходу за младенцами — это бестселлер, руководство пользователя для самого сложного «продукта», который только можно представить, — и в ней всего два уровня заголовков. А у вас восемь уровней иерархии, и я ещё даже не закончил считать. Неудивительно, что вы считаете это запутанным».
Как на самом деле можно присвоить тег категории?
Здравствуйте, спасибо за отличный инструмент для общения и сообщество. Подскажите, пожалуйста, есть ли возможность динамически создавать подкатегории второго уровня? Как это можно реализовать с помощью тегов?
Попробуйте это
Теперь вы можете создавать подкатегории — просто укажите родительскую категорию как ту, под которой должна находиться подкатегория.
Теперь можно изменить уровень вложенности подкатегорий через скрытую настройку сайта:
cd /var/discourse/
./launcher enter app
rails c
SiteSetting.max_category_nesting = 3
Он имеет в виду под-подкатегории, то есть третий уровень, а не второй уровень (подкатегории).
Верно. Именно эта скрытая настройка позволяет создавать под-под-категории (три уровня, отсюда и цифра 3 в названии настройки). Она существует уже около года, насколько я помню, но её добавление не получило особого освещения (упоминание было лишь в примечаниях к выпуску, возможно, без отдельного заголовка). Похоже, какой-то корпоративный клиент запросил эту функцию, но разработчики всё ещё считают, что это плохая идея. ![]()
Это возможно, как только функция будет включена. Чтобы создать подкатегорию второго уровня, в качестве родителя нужно указать подкатегорию, а не основную категорию.
Вот как выглядит экран создания категории при создании подкатегории второго уровня:
Я не помню, кто изначально попросил об этом, но мы попросили включить её чуть больше года назад на форумах NaNoWriMo в надежде, что это в конечном итоге поможет решить гораздо более сложную и уникальную проблему, с которой мы сталкиваемся.
Это решило проблему с нашим тестовым случаем, но, к сожалению, никакое чудо не могло бы исправить другую проблему. ![]()



