Проверка содержимого: требуется минимум 2 ключевых слова, включая test1 или test2, в новых темах

Привет, команда,

Я ищу способ внедрить правило для создания тем в определённой категории. Правило следующее:

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

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

  • Можно ли реализовать это правило с помощью существующих функций (например, тегов, настроек категорий или автоматизации Discourse)?

  • Или для этого потребуется кастомный плагин или компонент темы?

  • Кто-нибудь уже создавал что-то подобное?

Буду признателен за любые предложения или рекомендации по внедрению такой валидации.

Заранее спасибо!

Привет @S.AAKASH_MUTHIAH, добро пожаловать на Discourse Meta! :waving_hand:

На данный момент на ум приходят только шаблоны форм категорий. Они позволяют создать шаблон для категории и настроить обязательную валидацию полей. Однако, как следует из названия, это выглядит как форма, поэтому, если вам нужна тема, в которой пользователи могут писать свободно и при этом включать одно из двух ключевых слов, это может быть не лучшим решением. Возможно, кто-то другой сможет добавить свои мысли :slight_smile:


:pencil: Редактирование: Вот что ответил Ask Discourse AI, когда я спросил об этом только что.

Требование конкретных слов в темах Discourse ИИ

ondrej:

Есть ли способ убедиться, что пользователь включает определенное слово в тему, прежде чем сможет её опубликовать?

DiscourseHelper:

Поиск

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

Чтение

Прочитать: Валидация контента: Требование как минимум 2 ключевых слов, включая либо test1, либо test2, в новых темах

В ядре Discourse нет встроенной функции, которая строго требовала бы от пользователя включать конкретное слово в заголовок или тело темы перед её публикацией.

Вот доступные на данный момент варианты:

  • Наиболее близкий нативный вариант — использование «шаблонов форм категорий», которые могут включать обязательные поля (заставляя пользователей вводить определённую информацию перед публикацией). Однако они работают как структурированные формы и не идеальны для принудительного включения конкретного слова или ключевого слова в свободно набираемый текст темы. Пользователи всё ещё могут изменять или удалять шаблон, поэтому строгая валидация конкретного слова в теле или заголовке не обеспечивается нативно.
  • На данный момент нет настройки, плагина или инструмента автоматизации в официальном наборе Discourse, который принудительно требовал бы включения конкретного слова в заголовок или тело темы.
  • Если требуется строгое принуждение (блокировка публикации, если не использовано конкретное слово), потребуется кастомный плагин или компонент темы.

Для получения более подробной информации и обсуждения в сообществе см.:

Если это важное требование для вашего сайта, возможно, стоит рассмотреть заказ разработки плагина или обратиться в поддержку Discourse, если вы используете тариф Business или Enterprise.

Дайте знать, если нужны дополнительные подробности о шаблонах форм или советы по кастомным решениям!