Я не могу понять, как сделать так, чтобы подкатегория («Создайте собственный конкурс инноваций для подростков» в данном случае) перестала отображаться (стрелка) на странице основной категории. Я уже пробовал несколько вариантов. Можете помочь?
Я не могу найти соответствующую настройку сайта, но вы можете скрыть этот элемент с помощью 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;
}
работает корректно.

Как видно, вложенная категория 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
Сработало отлично — спасибо!



