Я ищу способ внедрить правило для создания тем в определённой категории. Правило следующее:
При создании новой темы пост должен содержать как минимум два ключевых слова, и среди них обязательно должно быть либо test1, либо test2.
Я изучил встроенные настройки категорий и шаблоны, но они позволяют лишь давать рекомендации — не обеспечивают реальное принудительное выполнение. Я хочу узнать:
Можно ли реализовать это правило с помощью существующих функций (например, тегов, настроек категорий или автоматизации Discourse)?
Или для этого потребуется кастомный плагин или компонент темы?
Кто-нибудь уже создавал что-то подобное?
Буду признателен за любые предложения или рекомендации по внедрению такой валидации.
На данный момент на ум приходят только шаблоны форм категорий. Они позволяют создать шаблон для категории и настроить обязательную валидацию полей. Однако, как следует из названия, это выглядит как форма, поэтому, если вам нужна тема, в которой пользователи могут писать свободно и при этом включать одно из двух ключевых слов, это может быть не лучшим решением. Возможно, кто-то другой сможет добавить свои мысли
Редактирование: Вот что ответил Ask Discourse AI, когда я спросил об этом только что.
Требование конкретных слов в темах DiscourseИИ
ondrej:
Есть ли способ убедиться, что пользователь включает определенное слово в тему, прежде чем сможет её опубликовать?
DiscourseHelper:
Поиск
Поиск по запросу: Как администратор может потребовать, чтобы темы включали конкретное слово в заголовок или тело перед публикацией, используя основные настройки, плагины или кастомизации, и существует ли встроенная функция или обходной путь, например автоматизация, для принудительного применения этого ограничения к новым темам?
В ядре Discourse нет встроенной функции, которая строго требовала бы от пользователя включать конкретное слово в заголовок или тело темы перед её публикацией.
Вот доступные на данный момент варианты:
Наиболее близкий нативный вариант — использование «шаблонов форм категорий», которые могут включать обязательные поля (заставляя пользователей вводить определённую информацию перед публикацией). Однако они работают как структурированные формы и не идеальны для принудительного включения конкретного слова или ключевого слова в свободно набираемый текст темы. Пользователи всё ещё могут изменять или удалять шаблон, поэтому строгая валидация конкретного слова в теле или заголовке не обеспечивается нативно.
На данный момент нет настройки, плагина или инструмента автоматизации в официальном наборе Discourse, который принудительно требовал бы включения конкретного слова в заголовок или тело темы.
Если требуется строгое принуждение (блокировка публикации, если не использовано конкретное слово), потребуется кастомный плагин или компонент темы.
Для получения более подробной информации и обсуждения в сообществе см.:
Если это важное требование для вашего сайта, возможно, стоит рассмотреть заказ разработки плагина или обратиться в поддержку Discourse, если вы используете тариф Business или Enterprise.
Дайте знать, если нужны дополнительные подробности о шаблонах форм или советы по кастомным решениям!