Is there a way to remove the lock badge for some categories but not for others?

Hello guys,

as the title suggests, I am looking for a way to remove the lock badge for some categories, but not for others.
I managed to do this for the category-drop-header, since I can use the category ID to only remove the lock icon for this category, instead of globally.

I did not, however, manage to remove the icon for the badge in the category overview (cf. screenshot) and in the drop-down list of categories in the search.

Do you have any suggestions for me? I’m pretty new to working with CSS and I’ve exhausted my own approaches.

Thanks a lot!

edit:
I read both of the following threads, but could not find a solution that worked for me:

I think this should do it:

// Hide the lock icon for specific categories on topic lists and hamburger menu,
// and hide the lock icon on all dropdown search results
.search-menu .results .restricted,
[href="/c/MY-CATEGORY-SLUG1"],
[href="/c/MY-CATEGORY-SLUG2"],
[href="/c/MY-CATEGORY-SLUG3"] {
    .fa-lock {
        display: none;
    }
}

Just replace the MY-CATEGORY-SLUG# part with the slugs of the categories you want to have the lock icon hidden.

Unfortunately there isn’t enough to work with in the HTML to pick and choose which categories show the lock icon in the dropdown search results with CSS, so it’s all or nothing for that part. You will need to decide if you want to show or hide the lock for all restricted categories. If you want to show it, just remove this part: .search-menu .results .restricted,

Hopefully that gets you pretty close to what you are looking for!

11 лайков

Ой, извините за оживление старой темы, но у меня не получается заставить это работать. Я пытаюсь скрыть значок замка для нашего Lounge с адресом «off-topic». Наш Lounge не был установлен по умолчанию — это созданная категория, и я настроил права доступа так, чтобы она была недоступна для незарегистрированных пользователей. Но мне не нужен значок замка, так как участники думают, что категория закрыта.

Я предполагаю, что нужно добавить это в CSS-код:

// Скрыть значок замка для конкретных категорий в списках тем и в меню-гамбургере,
// а также скрыть значок замка во всех результатах выпадающего поиска
.search-menu .results .restricted,
[href="/c/off-topic"] {
    .fa-lock {
        display: none;
    }
}

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

Привет, как насчет этого:

.category-drop [data-value="ID"] .restricted,
[href^="/c/off-topic"] {
    .d-icon-lock {
        display: none;
    }
}

Замените ID на идентификатор категории «Не по теме».

1 лайк

Спасибо за ответ. Это устранило значок в выпадающем списке поиска по категориям, что отлично. Но я также хочу скрыть значок замка глобально для этой категории (не для других заблокированных элементов), например, на странице списка категорий.

1 лайк

Я допустил опечатку в CSS: написал lounge вместо off-topic.

1 лайк

это именно то, что я хочу сделать.

Прекрасно! Это помогло. Большое спасибо :clap:

2 лайка

Рад, что всё получилось! Дайте знать, если я упустил какое-то место :slight_smile:

2 лайка

@Arkshine
Используя приведённые выше примеры кода, мне удалось убрать значок замка для двух категорий на главной странице и в боковой панели. Отлично!

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

Screenshot 2023-08-24 at 2.41.52 PM

Есть какие-нибудь идеи?

РЕДАКТИРОВАНИЕ:

Мне удалось убрать значок замка из выпадающих меню для ВСЕХ категорий, но я не могу понять, как убрать его только для выбранных категорий. Вот CSS:

.badge-wrapper.bullet span.badge-category, {
    .d-icon-lock {
        display: none;
    }
}

Я пробовал использовать похожий CSS, как выше, с помощью [data-value=“ID”], но в данном случае это не сработало.

1 лайк

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

2 лайка

Спасибо @Lilly. Я видел ваш первоначальный ответ несколько дней назад и только сейчас нашёл время внести некоторые правки, и оказалось, что вы не только упростили мне задачу, но и создали отличный компонент темы, который наверняка поможет множеству людей, пытающихся сделать то же самое. Большое спасибо за ваше время и усилия. Очень признателен.

1 лайк

Пожалуйста, и спасибо за такие теплые слова. Мне очень нравится разрабатывать инструменты для компонентов темы, чтобы помогать людям расширять возможности своих форумов на Discourse. :blush:

2 лайка