Is it possible to create sub-subcategories?

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”?

4 лайка

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.

1 лайк

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.

5 лайков

@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 openspending and local-groups/okbr and we understand that the second is the priority, so need category local-groups/okbr/prj-gastos-abertos that is a typical “local group project” category.

Интересно, что вы решили, будто любая существующая область знаний может требовать разделения ровно на один уровень категорий, но никогда — на два или более. Хотя я не знаю ваших точных рассуждений, мне очень трудно поверить, что это может быть правдой.

Два уровня, а не три. И мы не единственные, кто так считает.

Мы очень гордились нашим пользовательским интерфейсом и тем, что у нас был способ просматривать 16 000 (!!) страниц документации на CD-ROM. Но навигация по иерархии казалась нам немного запутанной. Поэтому мы пригласили Тафти взглянуть на это, надеясь, возможно, получить похвалу или бесплатный совет.

Он поработал с нашим AnswerBook около 90 секунд, повернулся и вынес вердикт:

«Книга доктора Спока по уходу за младенцами — это бестселлер, руководство пользователя для самого сложного «продукта», который только можно представить, — и в ней всего два уровня заголовков. А у вас восемь уровней иерархии, и я ещё даже не закончил считать. Неудивительно, что вы считаете это запутанным».

6 лайков

Как на самом деле можно присвоить тег категории?

Здравствуйте, спасибо за отличный инструмент для общения и сообщество. Подскажите, пожалуйста, есть ли возможность динамически создавать подкатегории второго уровня? Как это можно реализовать с помощью тегов?

Попробуйте это

1 лайк

Теперь вы можете создавать подкатегории — просто укажите родительскую категорию как ту, под которой должна находиться подкатегория.

1 лайк

Теперь можно изменить уровень вложенности подкатегорий через скрытую настройку сайта:

cd /var/discourse/

./launcher enter app

rails c

SiteSetting.max_category_nesting = 3

7 лайков

Он имеет в виду под-подкатегории, то есть третий уровень, а не второй уровень (подкатегории).

2 лайка

Верно. Именно эта скрытая настройка позволяет создавать под-под-категории (три уровня, отсюда и цифра 3 в названии настройки). Она существует уже около года, насколько я помню, но её добавление не получило особого освещения (упоминание было лишь в примечаниях к выпуску, возможно, без отдельного заголовка). Похоже, какой-то корпоративный клиент запросил эту функцию, но разработчики всё ещё считают, что это плохая идея. :wink:

5 лайков

Я никогда не пробовал создавать подкатегорию второго уровня. Разве это невозможно через интерфейс?

Это возможно, как только функция будет включена. Чтобы создать подкатегорию второго уровня, в качестве родителя нужно указать подкатегорию, а не основную категорию.

Вот как выглядит экран создания категории при создании подкатегории второго уровня:

Я не помню, кто изначально попросил об этом, но мы попросили включить её чуть больше года назад на форумах NaNoWriMo в надежде, что это в конечном итоге поможет решить гораздо более сложную и уникальную проблему, с которой мы сталкиваемся.

Это решило проблему с нашим тестовым случаем, но, к сожалению, никакое чудо не могло бы исправить другую проблему. :slight_smile:

3 лайка