Фильтр без ответов

:discourse2: Краткое описание Фильтр «Неответленные» добавляет раскрывающееся меню навигации (хлебные крошки), которое фильтрует список тем по неответленным и ответленным темам.
:eyeglasses: Предпросмотр Предпросмотр в Конструкторе тем Discourse
:hammer_and_wrench: Ссылка на репозиторий https://github.com/discourse/discourse-unanswered-filter
:open_book: Новичок в темах Discourse? Руководство для начинающих по использованию тем Discourse

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

Возможности

Фильтр «Неответленные» добавляет новое раскрывающееся меню навигации, позволяющее пользователям фильтровать список тем по неответленным (0 ответов) и ответленным темам (более 1 ответа). Также есть возможность отображения ссылки «Неответленные» в навигации как альтернативы раскрывающемуся меню.

Режим раскрывающегося меню:

Режим ссылки:
Screenshot 2023-12-08 at 2.33.06 PM

Настройки

Название Описание
exclusions
limit to groups отображать фильтр только для участников указанных групп
filter mode
  • Исключения: можно исключить этот фильтр со страницы вашего сайта, по умолчанию для / и /top
  • Ограничение по группам: можно выбрать отображение фильтра только для конкретных групп (например, для сотрудников)
  • Режим фильтра: по умолчанию — раскрывающееся меню, ссылка доступна как альтернатива
Перевод Значение по умолчанию
topic_answered_filter.all любой статус
topic_answered_filter.unanswered неответленные
topic_answered_filter.answered ответленные
unanswered.title Неответленные
unanswered.help Темы, на которые не было дано ответов

Благодарности

Компонент был адаптирован из этого сообщения от @simon.


:discourse2: Размещено нами? Компоненты тем доступны для использования в наших тарифных планах Standard, Business и Enterprise.

46 лайков

4 сообщения были перенесены в новую тему: Добавить id или класс к элементам списка

5 сообщений были перенесены в новую тему: Можем ли мы исключить вики из тем без ответов?

Привет @awesomerobot — я только что опробовал компонент «Ссылка фильтра неответов» [предыдущее поведение], и он почти идеально соответствует моим потребностям. Есть лишь пара пунктов в моём списке пожеланий:

  1. Мне бы хотелось иметь возможность исключать темы с определёнными категориями и тегами. Некоторые информационные темы не требуют ответов; они могут находиться в конкретной категории или иметь тег «документация» и т. п. Например, закреплённые посты «Добро пожаловать» можно было бы исключать по тегу.
  2. Я бы хотел, чтобы «Неответы» вели себя немного так же, как «Новые» и «Непрочитанные»: появлялись только при ненулевом значении и отображали счётчик. Это не так заманчиво для клика, когда видно, что нет соответствующих непрочитанных тем.

С этими дополнениями это было бы идеально — и, я считаю, должно быть добавлено как основная функциональность Discourse.

2 лайка

Просто заметка на случай, если это поможет другим:

Я решил попробовать новый компонент «Фильтр нерешённых тем». Не знаю, была ли это проблема в моём конкретном экземпляре Discourse, но у меня возникли трудности с его запуском. Я удалил, переустановил и перезагрузил, пытаясь заставить его отобразиться, и в итоге:

cd /var/discourse
./launcher destroy app
./launcher start app

… всё заработало.

После очистки всех исключений в настройках компонента я на мгновение не мог понять, почему фильтр статуса не отображается на странице категорий (и, в нашем случае, на главной странице, которая по умолчанию показывает категории): потому что это фильтр тем. [хлопает себя по лбу] Очевидно, он не может фильтровать список категорий.

Мне всё ещё немного хочется, чтобы можно было исключать темы по тегам, чтобы информационные темы не отображались как «нерешённые», но простое решение — добавить один ответ, например, «Эта тема закрыта», — перед её закрытием.

Работает как заявлено — отличный компонент. :star:

1 лайк

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

Если возникнут новые проблемы, обязательно сообщите нам!

5 лайков

Очень хороший плагин, спасибо!

Можно ли его немного доработать, чтобы посты от сотрудников не отображались в списке? Нас интересуют только обычные пользователи, которые не получили ответа. Думаю, сотрудники как-нибудь сами разберутся с этим. :wink:

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

1 лайк

Вы можете использовать Data Explorer, чтобы найти эти темы:

1 лайк

Я только что объединил обновление этого компонента, которое добавляет несколько настроек:

limit_to_groups заменяет предыдущую настройку show_only_for_staff (вместо неё можно использовать группу staff)

1 лайк

@awesomerobot, после последнего обновления у меня возникает следующая ошибка:

Error: Could not find module `discourse-i18n` imported from `discourse/theme-10/initializers/unanswered-filter-link

Есть какие-то идеи, как это исправить?

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

Ваша установка Discourse обновлена до актуальной версии (admin/upgrade)? Я ожидаю, что обновление исправит это.

На данный момент таких планов нет. Я не думаю, что существует простой способ сделать это… этот компонент темы полагается на встроенный параметр URL для получения сообщений с 0 ответами (?max_posts=1), но, насколько я знаю, у нас нет возможности скрывать сообщения, созданные пользователями из определённой группы.

Кажется, это не отображается на мобильных устройствах? Кто-нибудь может помочь?

1 лайк

Фильтруется ли вы по категории? На мобильных устройствах фильтры категорий (включая этот фильтр) скрыты на маршрутах обнаружения (новое/лучшее/горячее и т.д.)

Вы можете отобразить эти фильтры, добавив CSS в тему вашего сайта:

.category-breadcrumb.hidden {
  display: flex !important;
} 

1 лайк