Фильтр избранного

:information_source: Краткое описание Позволяет пользователям сохранять избранные фильтры и, при желании, определять фильтры по умолчанию
:eyeglasses: Предпросмотр Theme Creator
:warning: Компонент использует существующее пользовательское поле для ввода возраста. После проверки настраиваемости вы можете очистить это поле в своих настройках.
:hammer_and_wrench: Репозиторий GitHub - moin-Jana/favorite-filter: Allow users to save their favorite filters and optionally define default filters · GitHub
:question: Руководство по установке Как установить тему или компонент темы
:open_book: Новичок в темах Discourse? Руководство для начинающих по использованию тем Discourse

Установить этот компонент темы

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

Чтобы сохранить текущий применённый фильтр в избранное, нажмите на значок звезды, введите метку и при желании выберите значок или эмодзи.

Вы также можете изменить порядок, удалить или отредактировать ваши текущие избранные фильтры.

Настройка

Пользовательские фильтры

Компонент темы не может создавать новые поля в базе данных, поэтому для сохранения избранных фильтров пользователям необходимо создать пользовательское поле, в котором будет храниться эта информация. Следовательно:

  • откройте конфигурацию пользовательских полей. Она находится в разделе «Сообщество» боковой панели администратора.
  • нажмите «Добавить пользовательское поле».
  • выберите тип поля «Текст» и введите имя и описание поля.
  • оставьте поле необязательным.
  • разрешите редактирование после регистрации, но не отображайте его нигде.
Скриншот конфигурации

После сохранения пользовательского поля нажмите кнопку редактирования и проверьте URL-адрес. Он будет выглядеть примерно так: /admin/config/user-fields/12/edit. Число — это ID пользовательского поля. Именно его нужно ввести в настройку custom user field ID компонента. Компонент скроет это поле из настроек профиля пользователя, чтобы предотвратить недопустимый ввод.

При желании вы также можете ограничить создание и сохранение избранных фильтров для определённых групп пользователей с помощью настройки custom favorite filters allowed groups.

Фильтры по умолчанию

Самый простой способ настроить фильтры по умолчанию — создать их как собственные избранные фильтры с помощью интерфейса фильтров и вставить значение из пользовательского поля в соответствующую настройку. Для этого вы можете отобразить пользовательское поле в настройках для администраторов (show for admin).

Затем скопируйте содержимое пользовательского поля в настройку default favorites.

Фильтры по умолчанию также можно ограничить для определённых групп с помощью настройки default favorite filters groups. Это полезно, например, если многие фильтры не работают для незарегистрированных пользователей (поскольку у них нет закладок или доступа к определённым категориям). Аналогично можно настроить определённые фильтры по умолчанию для сотрудников, в то время как обычные пользователи смогут создавать свои собственные избранные фильтры, не видя тех, которые им не актуальны.

14 лайков

Это выглядит действительно круто, @Moin!

4 лайка

Я легко это настроил, и это просто отлично!

2 лайка

Это захватывающий трюк. Я очень хочу когда-нибудь реализовать нативную поддержку «настроек темы пользователя», тогда в этом не будет необходимости. Мне нравится, что вы нашли способ обойти это ограничение.

3 лайка

Спасибо. Но это была не моя идея. Подобным образом эту задачу уже решали несколько раз. На ум приходят следующие темы:

3 лайка