Компонент темы «Скрытие категорий»

Всем привет! Я создал простой компонент темы. Надеюсь, он кому-нибудь пригодится!

:eyeglasses: Обзор

Это компонент темы, который позволяет скрывать определённые категории либо в гамбургер-меню, либо в блоках категорий.

:thinking: Зачем вам может понадобиться этот компонент?

Если на вашем сайте Discourse много категорий и вы хотите скрыть некоторые из них от отображения в строке меню или на главной странице, этот компонент может быть полезен.

:framed_picture: Скриншоты

Предпросмотр гамбургер-меню: До → После

:gear: Меню настроек:

Подробнее о том, как использовать этот компонент темы, а также инструкции по установке доступны в репозитории GitHub.

14 лайков

Выглядит довольно круто, но какое преимущество это даёт по сравнению с отключением уведомлений для категории?

5 лайков

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

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

2 лайка

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

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

4 лайка

Привет, Киган,

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

В сочетании с фрагментом кода отсюда это может дать именно то, что мы ищем:

2 лайка

Привет, похоже, после последнего обновления Discourse что-то сломалось.

1 лайк

@Heliosurge Спасибо, что сообщили. Исправлю это, как только смогу, и опубликую обновление здесь.

2 лайка

Привет, @Heliosurge,

Проблемы с компонентом темы теперь исправлены. Всё должно работать корректно.

3 лайка

Спасибо, Китан. Интересная идея, так как я уже создавал тему помощи, поскольку ранее использовал CSS для решения этой задачи.

Один из участников, @manuel, дал мне отличный фрагмент CSS, так как я использовал его, чтобы скрыть множество подкатегорий, чтобы в гамбургер-меню отображались только родительские категории.

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

.hamburger-panel .category-link.subcategory {
      display:none;
}

Эта настройка может сделать вещи очень удобными, если у пользователей много подкатегорий, которые нужно скрыть.

4 лайка

@Heliosurge

Звучит очень удобно! Спасибо! Я добавил это в компонент темы, так что теперь вы можете включать или отключать возможность скрытия подкатегорий в меню-гамбургере и/или в контексте списка категорий.

3 лайка

Отлично! Спасибо, продолжайте в том же духе.

:clinking_beer_mugs::smiling_face_with_sunglasses::+1::sparkles:

1 лайк


Привет, @keegan
Можно скрыть категорию в верхнем меню?
Спасибо!

При установке (версия 3.1.0beta3) возникает следующая ошибка:

Ошибка: ожидался символ “]”. ┌──> /tmp/discourse_theme_526e702e5adb76bf8137c869c5f6d389/discourse-category-hider/stylesheets/mobile/categories.scss 6 │ [data-category-id=‘#{$box}’] { │ ^^^^ ╵ ╷ 1 │ [data-category-id=“str-split(, “|”)”] │ ━ ошибка в интерполированном выводе ╵ mobile/categories.scss 6:26 @import /var/www/discourse/mobile.scss 1:993 корневой стиль

2 лайка

Да, это было бы полезно, но установка сейчас не работает с последней версией Discourse.

Я только что выложил исправление, пожалуйста, попробуйте установить снова или обновить компонент.

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

5 лайков

Извините, но это не сработало


Я прав?

1 лайк

Убедитесь, что вы используете название категории, а не её слаг.

3 лайка

Спасибо,
Успех,
Все, обратите внимание на заглавные или строчные буквы

4 лайка

Привет

Этот компонент отлично работает на стандартном экране категорий и в хлебных крошках, однако:

Он не удаляет категории из меню-гамбургера, если боковая панель не установлена в режим «legacy».

Есть ли способ скрыть категории в стандартной боковой панели/меню-гамбургере?

Я пробовал настройку «category hamburger», но, похоже, не могу заставить её работать.

Спасибо

2 лайка

Привет, @martyn_thomas

Вы можете настроить категории в меню навигации через параметры администратора — default_navigation_menu_categories. Эта настройка позволяет выбрать, какие категории будут отображаться по умолчанию в разделе «Категории» меню навигации. Пользователи могут переопределить это и настроить собственный раздел меню категорий, нажав на значок карандаша рядом с заголовком «Категории», точно так же, как это можете сделать вы. В целом, это следует поощрять.

2 лайка