Обход лимита в 6 фаворитов для значков

Итак, в наших сообществах есть очень специфическое использование… значков. У некоторых их всего 4, и это вполне нормально.

Однако у нас также есть пользователи с 24 значками!

image

Я хочу узнать, можно ли установить max_favorite_badges выше 6:

discourse(prod)> SiteSetting.max_favorite_badges = 50
lib/site_settings/type_supervisor.rb:308:in ‘SiteSettings::TypeSupervisor#validate_value’: max_favorite_badges: Значение должно быть в диапазоне от 0 до 6. (Discourse::InvalidParameters)

Нет. Максимальное значение установлено здесь:

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

Вы знаете, можно ли обойти рекомендуемое значение? С учётом предупреждённых рисков (например, отсутствие поддержки в случае поломки бейджа).

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

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

Люди хотят отображать все свои значки на своём профиле. Это конкретная просьба для определённого типа сообщества, потому что участники принимали участие в нескольких конкурсах, являются «наставниками», «модераторами» или даже «переводчиками», и они хотят иметь место, где можно показать каждую из этих ролей. У меня сейчас есть и группы, и значки, но я могу отображать только один значок группы в посте и значки (6) на карточке пользователя.

Я изучил этот вопрос: все значки (созданные администраторами) должны отображаться по умолчанию. И, похоже, этот плагин не позволяет сделать иначе.

Это очень специфично для конкретного сообщества, из-за того, как наше сообщество работает со значками на платформе (Resonite). Вот почему запрос настолько специфичен :stuck_out_tongue:

Все их значки видны на их профиле. Вы можете увидеть все мои значки здесь: https://meta.discourse.org/u/moin/badges.

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

Плагин, вы не дали ссылку на компонент темы… Кажется.

Я ослеп, вы назвали это плагином, но ЭТО компонент темы. Так что в этом случае — компонент.

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

Я назвал это плагином, потому что в ссылке на пост упоминается плагин. Это не моя вина, что это обсуждается в теме компонента темы :person_shrugging:

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

Увеличение до примерно дюжины, скорее всего, возможно с помощью кастомного плагина или некоторых команд Rails и сопутствующего CSS для исправления проблем с макетом, но увеличение до 50 раздует JSON-нагрузки и сломает множество вещей. Любое увеличение предопределённого жёстко заданного лимита значков, на мой взгляд, будет довольно ненадёжным.

Я посмотрел ваш сайт: многое можно было бы реализовать через самообслуживаемые группы или даже через поля профиля (например, сексуальность или особенности здоровья). Значки предназначены для достижений, как и остальные, судя по всему.

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

Конечно. На мой взгляд, часто полезно поделиться причиной™, если она известна :slight_smile:
Это может быть для улучшения читаемости, для оптимизации запросов, для обоих случаев или для других целей, как угодно.
Лично я всегда чувствую удовлетворение, когда кто-то задаёт вопрос, и в какой-то момент объясняется причина™ :smile:
Иногда даже причину™ можно правомерно оспорить пользователям :slight_smile:


@codixer Если лимит нельзя увеличить через интерфейс, то лучше написать в Contribute > Feature (или можно попробовать вариант с плагином, но я не уверен, что мы сможем переопределить эту настройку даже с помощью плагина).
Маловероятно, что изменения произойдут, если тема не привлечёт внимания и никто другой не запросил этого (особенно клиенты), но подать запрос на новую функцию никогда не помешает!
Как и многие другие, я иногда открывал запросы на новые функции, которые не получали ни лайков, ни голосов, даже если мне казалось, что у меня были отличные идеи :face_with_tongue:

Да, я ищу что-то, что могло бы отображаться в зависимости от групп пользователя. И только основная группа не совсем сработала. Есть альтернатива?

Они такие же, как и сама платформа, для которой они предназначены. Если у вас есть альтернатива, я открыт для любых предложений :smiley:

Если у вас есть бюджет и вам это нужно, напишите в Marketplace, и я, возможно, смогу помочь.

Если бы я знал, то сказал бы это по тем же причинам, что и вы :sob: Я просто предположил, что число 6 было выбрано каким-то образом. Если бы мне пришлось делать совершенно безумное предположение, то это было бы для читаемости карточки пользователя (потому что 6 — это уже много), но сотрудники, вероятно, знают об этом лучше меня :slightly_smiling_face: