Не уверен, знаете ли вы об этом уже, но такое поведение можно настроить с помощью групп тегов и настроек категорий. Интерфейс подсказывает пользователю, как нужно применять теги, но не уверен, насколько понятным он будет для большинства пользователей.
Сначала создайте группы тегов для products и features. Например:
Настройте параметры тегов для категории поддержки следующим образом:
При создании новой темы в категории пользователи сначала увидят это:
При нажатии на поле ввода тегов открывается выпадающий список, который позволяет выбрать только один из тегов products:
После выбора тега products пользователю показывается список допустимых тегов features:
Также можно сделать теги features обязательными, добавив их в настройку обязательной группы тегов, выделенную на предыдущем скриншоте. Порядок добавления тегов в настройку обязательной группы тегов категории, похоже, учитывается в интерфейсе. Не уверен, что это сделано намеренно, но это полезно в данном случае, если вы хотите заставить пользователей сначала выбрать тег products, а затем тег features:
Таким образом, возможно, в Discourse уже есть нужная вам функциональность, но интерфейс можно улучшить.
Что касается предыдущего скриншота, пользователям показывается текст «Поиск или создание» в выпадающем списке тегов, хотя, исходя из настроек категории, им должна быть предоставлена только возможность поиска тегов из группы тегов features. Экземпляр Discourse, на котором я это тестирую, не совсем актуален, поэтому я не могу подтвердить, является ли это текущей ошибкой. Я проверю это позже. В любом случае, если я попытаюсь создать тему с дополнительным тегом, будет возвращена ошибка.
Это похоже на ошибку, но мне нужно обновить локальный экземпляр Discourse, чтобы подтвердить это.
Редактирование: упомянул несколько проблем, связанных с этим, здесь: Tag "Search or create" text is displayed when a category has restricted tags







