Хотелось бы узнать, можно ли реализовать следующее:
Если пользователь из определённой группы создаёт тему или становится её первым автором,
То автоматически добавлять к теме тег с названием этой группы,
При этом этот тег (название группы) должен быть виден только пользователям другой группы в панелях «Последние» или «Новые».
Я изучал возможность использования флэров, но они не подходят, так как не отображаются на панелях. Думал создать собственный плагин, как предлагалось здесь, но у нас нет собственного хостинга, поэтому этот вариант тоже не сработает.
То, что вы описали, будет сложно реализовать сразу, но, возможно, мы всё же сможем помочь. Не могли бы вы рассказать, чего именно вы хотите добиться с помощью этой настройки? Возможно, мы сможем предложить другие способы, например, использование разрешений для категорий и групп.
Да, всё верно, хочу видеть группу, задающую вопрос, в представлениях последних/новых тем. Думал, что теги подойдут лучше, так как флейры видны всем, а не только администраторам/сотрудникам.
Динамическое использование тегов заведёт нас в область кастомных плагинов, что может подойти или не подойти для вашего случая. Поэтому я рассматриваю другие возможные варианты.
В списках тем у нас есть primary_group_id и flair_group_id пользователя, создавшего тему… так что мы должны быть в состоянии получить соответствующее название группы или флер, используя эти данные, и применить их в упомянутых вами представлениях.
Это всё ещё кастомная работа, поэтому вы можете либо воспользоваться нашим Marketplace для её выполнения, либо сделать это самостоятельно.
Falir, безусловно, тоже мой выбор, но он зависит от того, что группа является основной для пользователя — что перестаёт работать, как только пользователь изменит эти настройки.
Другая альтернатива — автоматически назначать значок пользователям из группы. Это означает, что сотрудники могут просто кликнуть на имя и увидеть в профиле, в каких группах состоит человек. Это не так наглядно, как флейр, но менее подвержено вмешательству со стороны пользователей (насколько мне известно, пользователи не могут удалять значки).
SQL-запрос для значка, где в этом примере “discourse-admins” — это слаг группы.
select user_id, created_at granted_at, NULL post_id
from group_users
where group_id = (
select g.id from groups g where g.name = 'discourse-admins'
)
Да! Также я бы посоветовал проявить должную осмотрительность при выборе исполнителя оттуда. Если у вас есть какие-либо опасения по этому поводу, дайте мне знать
Также обратите внимание на комментарий @Tris20 — это может быть не совсем то, что вы ищете, но идея всё равно интересная.
Спасибо за предложения, @pfaffman и @Tris20, ценим вашу помощь Мы рассматриваем решение, которое будет видно в новых/последних представлениях, поэтому компонент пользовательской темы может быть лучшим вариантом.