Избранный пользователь Discourse

:information_source: Краткое описание Размещение пользователя в виде баннера в верхней части вашего сайта
:eyeglasses: Предпросмотр Theme Creator
:hammer_and_wrench: Репозиторий GitHub - NateDhaliwal/discourse-featured-user: Shows a banner at the top of the site to feature a user for a timeframe. · GitHub
:question: Руководство по установке Как установить тему или компонент темы
:open_book: Новичок в темах Discourse? Руководство для начинающих по использованию тем Discourse

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

Обзор

Этот компонент позволяет администраторам выделять пользователя вместе со статистикой в виде баннера в верхней части сайта на определённый период. Администраторы могут выбрать, какую статистику отображать, а также указать причину выделения пользователя (например, образцовое поведение, повышение до уровня TL4/модератора и т. д.). Вы даже можете добавить иконку рядом с именем пользователя в карточке пользователя и в сообщениях.

Скриншоты

Баннер со всей статистикой (если вы хотите всю  данные)

Баннер с частью статистики (если нужен баланс)

Баннер без статистики (если хотите сделать акцент на описании)

Полное описание

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

Также есть возможность показать специальную иконку (имя иконки, цвет и текст при наведении можно настроить) рядом с именем пользователя в сообщениях и в карточке пользователя, как показано ниже:

Сообщение (с всплывающей подсказкой[1][2]):

Карточка пользователя (всплывающая подсказка работает и здесь):

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

Этот компонент можно использовать, например, для объявления о новых пользователях уровня TL4, модераторах и т. д.

:light_bulb: СОВЕТ: В тексте баннера можно использовать <a class="mention">username_here</a>, чтобы создать пузырьки с упоминанием @, не уведомляя целевого пользователя, но при этом карточка пользователя будет открываться при клике.

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

:warning: У этого компонента нет мобильного аналога, только десктопная версия. Приносим извинения за неудобства.

Я повторно использовал компоненты UserStat и UserProfileAvatar со страницы сводки пользователя, и это потрясающе, что разработчики могут просто переиспользовать компоненты!

Настройки (готовьтесь — их много)

Название настройки Описание настройки Значение по умолчанию
featured_user Имя пользователя, которого нужно выделить NA
featured_user_banner_text_above Текст над баннером для описания заслуг пользователя (поддерживается HTML) NA
featured_user_banner_text_below Текст под баннером для описания заслуг пользователя (поддерживается HTML) NA
featured_user_banner_text_align Выравнивание текста баннера (слева, справа или по центру) center
auto_resize_banner Автоматически подстраивать ширину баннера под количество элементов false
featured_user_banner_display_start_date Дата начала отображения баннера; формат YYYY-MM-DD 1900-01-01
featured_user_banner_display_end_date Дата окончания отображения баннера; формат YYYY-MM-DD 2100-01-01
featured_user_banner_display_on_homepage Отображать баннер только на главной странице. Снятие галочки покажет баннер на всех страницах true
featured_user_banner_border_color Цвет границы баннера (разрешены CSS-переменные и шестнадцатеричные коды) var(--primary)
featured_user_banner_border_roundness Скругление границ баннера в пикселях 3
featured_user_banner_border_thickness Толщина границы баннера в пикселях 10
featured_user_show_featured_icon_in_user_card Отображать иконку в карточке пользователя рядом с именем во время выделения пользователя true
featured_user_featured_icon_in_user_card Иконка для настройки выше award
featured_user_featured_icon_color_on_user_card Цвет иконки для настройки выше var(--gold)
display_total_likes_given Отображать общее количество отправленных пользователем лайков true
display_total_likes_received Отображать общее количество полученных пользователем лайков true
display_total_post_count Отображать общее количество сообщений пользователя false
display_total_topic_count Отображать общее количество тем пользователя false
display_total_read_time Отображать общее время чтения пользователя false
display_total_days_visited Отображать общее количество дней, когда пользователь посещал сайт false
display_gamification_score Отображать геймификационный балл пользователя false

Переводы темы

Название перевода Описание По умолчанию
user.featured_user_icon Текст всплывающей подсказки при наведении на иконку “Этот пользователь был выделен!”

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

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

Надеюсь, это кому-то поможет!


  1. Это — вы уже догадались — DTooltip! ↩︎

  2. Да, здесь действительно немного мало места… Я постараюсь найти решение. ↩︎

7 лайков

Отличный компонент — хорошая работа! :clap:

5 лайков

Здесь что-то не так

2 лайка