Как скрыть подкатегорию из списка категорий?

Я не могу понять, как сделать так, чтобы подкатегория («Создайте собственный конкурс инноваций для подростков» в данном случае) перестала отображаться (стрелка) на странице основной категории. Я уже пробовал несколько вариантов. Можете помочь?

Я не могу найти соответствующую настройку сайта, но вы можете скрыть этот элемент с помощью CSS в компоненте темы.

Можно использовать этот CSS:

.category .subcategories {
      display: none;
    }

Если вы также не хотите, чтобы они отображались в выпадающем меню «гамбургер»:

.category .subcategories, .category-links .category-link.subcategory {
  display: none;
}

Я знаком с CSS, но не уверен, куда его добавить, чтобы Discourse использовал его.

На мобильном, так что по памяти, но это примерно так:

Администратор
Настроить
Темы
Компоненты
Установить (введите имя нового компонента)
Изменить HTML/CSS
Применить компонент темы к темам

Ещё один вариант… можно назначить подкатегорию группе и ограничить видимость только для этой группы. Просто к сведению.

Это повлечёт за собой какие-либо последствия помимо страницы основных категорий? Я ещё не использовал группы.

Создайте группу под названием «Team Kids», а затем определите, кто может вступать в неё, просматривать её и участвовать в ней.

  • Добавьте описание, разрешите определённым пользователям быть «владельцами», которые могут модерировать группу, в отличие от обычных участников.

Создайте категорию, как мы делали это для «Классы и мероприятия».

  • На странице редактирования категории в разделе /Security (Безопасность) назначьте права на чтение/запись/просмотр для группы.
  • Обратите внимание, что вы также можете изменить настройки для «Всех», что включает всех анонимных гостей в веб-интерфейсе и т. д.

ИЛИ

Просто запретите отображение подкатегории для @everyone. Мы ограничиваем доступ к категориям только для пользователей с @trust_level_0, то есть для зарегистрированных пользователей, которые вошли в систему. Или для пользователей с @trust_level_1, которые были активны на платформе в течение нескольких недель. Эти уровни доверия также являются группами.

Надеемся, это даст вам идеи по ограничению доступа к вашим категориям, вместо того чтобы просто разрешать их индексацию поисковыми системами Google и просмотр случайными людьми в интернете.

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

В сочетании с CSS от @manuel выше это сработало идеально. Спасибо.

Доступ к группам категорий определяется в рамках каждой конкретной категории, поэтому у вас есть полный контроль над тем, к какой категории группа будет (или не будет) иметь доступ. «Уровни доверия» пользователей в Discourse, сотрудники, администраторы, модераторы… всё это буквально просто группы.

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

Это единственные способы, которые я знаю, чтобы скрыть категорию: по группе. Уровни доверия — это все группы. Используйте или игнорируйте, как вам удобно.

Привет,

В моём случае я использовал скрытую опцию для вложения двух подкатегорий под родительскую, и в такой ситуации скрывается только последняя вложенная подкатегория. Можно ли как-то, используя CSS, скрыть два уровня вложенности?

Например:
Родительская категория
подкатегория 1 — скрыть
подкатегория 2 — скрыть

Предоставленный здесь CSS в описанном сценарии скрывает только подкатегорию 2.

.category .subcategories {
      display: none;
    }

Спасибо.

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

Спасибо за ответ!

Примечание: Я активировал скрытую функцию, позволяющую добавить ещё одну вложенную категорию — всего 3 вместо 2.

Вот пример, который может лучше проиллюстрировать проблему:
Например, главная страница:
Test (Категория)

  • Test - Sub 1 (вложенная категория родительской категории Test)
    В этом сценарии
.category .subcategories {
      display: none;
    }

работает корректно.
image
Как видно, вложенная категория Test - Sub 1 не отображается.

Если я добавлю ещё одну вложенную подкатегорию:
test - sub 2 category, где родительской является sub 1:


Как видно на изображении выше, test - sub 2 скрыт
согласно CSS-коду, но test - sub 1 больше не скрыт.

Проблема теперь двоякая:
Я могу скрыть заголовок test - sub 1, установив для его класса display: none, но при этом скрываются все родительские категории на главной странице.
Вторая проблема заключается в том, что даже если бы я мог изолировать и скрыть только вложенную категорию test - sub 1, занимаемое ею пространство всё равно остаётся, что создаст проблемы. Мне нужно разместить около 20 дополнительных категорий на главной странице, у каждой из которых будет по две вложенные подкатегории.
В идеале я хочу, чтобы конечный пользователь мог кликнуть на категорию Test и получить доступ к другим вложенным категориям и т.д., что легко достигается с помощью
Показать список подкатегорий выше тем в этой категории.
и установкой стиля списка подкатегорий, например, в виде блоков и т.п.

Если в какой-то момент я захочу разместить ещё одну категорию главной страницы после категории Test, я не хочу видеть 20 строк пустых переносов строки и т.п.

Что вы думаете по этому поводу?

Попробуйте этот #theme-component

Сработало отлично — спасибо!