Создание и настройка пользовательских полей

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

:person_raising_hand: Требуемый уровень доступа: Администратор

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

Добавление пользовательского поля

  1. Перейдите в Администрирование > Сообщество > Пользовательские поля (discourse.example.com/admin/config/user-fields).

  2. Если вы еще не создали ни одного пользовательского поля, вы увидите этот экран:

  3. Нажмите кнопку «Добавить пользовательское поле», чтобы создать новое поле.

Выбор типа поля

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

Текстовое поле

  • Используйте для коротких вопросов с множеством возможных ответов (например, «В какой компании вы работаете?»)
  • Отображается как однострочное текстовое поле HTML

Многострочное текстовое поле (Textarea)

  • Используйте для вопросов, требующих более длинных, многострочных ответов (например, «Расскажите о себе»)
  • Отображается как многострочное текстовое поле HTML

Дата

  • Используйте для сбора значений даты (например, «Какова ваша дата рождения?»)
  • Отображается как поле выбора даты

Подтверждение

  • Используйте для вопросов «да/нет» (например, «Вы хотите подписаться на нашу рассылку?»)
  • Отображается как флажок HTML
  • Добавьте важные ссылки, которые пользователям нужно подтвердить, используя HTML, например:
    Я соглашаюсь прочитать и соблюдать <a href="https://meta.discourse.org/guidelines">правила сообщества.</a>

Выпадающий список

  • Используйте для вопросов с фиксированным набором возможных ответов (например, «Какой у вас пол?»)
  • Отображается как элемент выбора HTML

Чтобы добавить варианты для выпадающего списка:

  1. Нажмите на поле ввода варианта
  2. Введите ответ и нажмите «Создать»
  3. Повторите для дополнительных вариантов

Готовые варианты должны выглядеть примерно так:

Множественный выбор

  • Используйте для вопросов, где пользователи могут выбрать несколько ответов из набора вариантов (например, «Какие темы вас интересуют?»)
  • Отображается как поле множественного выбора
  • Варианты настраиваются так же, как для выпадающих списков

Настройка имени и описания поля

  • Имя поля: Отображается перед полем ввода в форме регистрации и профиле пользователя
  • Описание поля: Отображается после поля ввода, чтобы помочь пользователям заполнить его

:information_source: Имя и описание поля обязательны для сохранения поля.

Вот как пользовательские поля выглядят в форме регистрации:

Настройка параметров пользовательского поля

Требования к полю

  • Необязательное – Необязательные поля могут оставаться пустыми
  • Для всех пользователей – Когда поле обязательно для всех пользователей, каждый аккаунт, включая уже зарегистрированных пользователей, будет вынужден заполнить его. Это очень полезно в таких случаях, как требование принять условия обслуживания (ToS).
  • При регистрации – Все новые аккаунты будут обязаны заполнить это поле.

Кроме того, в нижней части формы создания вы найдете следующие флажки настроек:

  • Редактируемое после регистрации: Позволяет пользователям обновлять значение поля со страницы своего профиля
  • Отображать в публичном профиле: Отображает значение поля на странице сводки профиля пользователя
  • Отображать на карточке пользователя: Показывает значение поля на карточке пользователя
  • Искомое: Позволяет искать пользователей на основе значения этого поля в каталоге пользователей
  • Показывать в форме регистрации: Управляет тем, отображается ли поле в форме регистрации. Это включается автоматически (и не может быть отключено), если требование к полю установлено как «Для всех пользователей» или «При регистрации», или если поле не редактируется после регистрации.

Отображать в публичном профиле

Если включено, значение поля будет показано на странице профиля пользователя:

Отображать на карточке пользователя

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

Искомое

Если включено, вы можете искать пользователей на основе значений их пользовательских полей:

Сохранение и редактирование полей

  1. Нажмите «Сохранить», чтобы добавить поле в список пользовательских полей вашего сайта
  2. Чтобы отредактировать поле, нажмите кнопку «Редактировать» рядом с ним в списке
  3. Чтобы удалить поле, нажмите меню с многоточием (⋮) рядом с ним и выберите «Удалить»

Добавление пользовательских полей в каталог пользователей

  1. Перейдите в каталог пользователей
  2. Нажмите на иконку гаечного ключа:

  1. Отметьте пользовательские поля, которые вы хотите отобразить
  2. Нажмите «Сохранить»

Выбранные пользовательские поля теперь будут отображаться в таблице каталога пользователей:

40 лайков
Any Plugins/Easy Mods for an Extended User Profile
Add introductory text for sign-up
Setting Security Parameters: Log-In, Read-Only, Protected Groups
Theme-Component v Plugin: What's the difference
User preference on theme components
Users self-select Category on Registration... is it possible?
Private custom user fields...?
Can we implement a system for user remarks during registration for admin review?
User customizable theme components (how-to)
This freaking software works so well I can’t even
User Field Prompt
New user reviews: admin assignment and logging of progress
Add users to groups on signup
How to add min or max values in custom fields?
Add a custom per-user setting in a plugin
Welcome questions on the first screen for bio
Announcing - Gender Pronouns Userfield on Meta
Grant Custom Badge Upon Reading ToS
If topic info is too long, tags are cut off and create a blank line
Required vs. optional sign-up fields
Terms of Service Checkbox
Hidden User Fields
New user filter by custom field and contact
Social Features
Where in Discourse can users publicly share PII?
Linking "static" information about member to topic posted
Add custom fields to signup and login
Using Discourse as a social media platform
Add users to groups through custom field automation
Custom user post display
Disable account confirm emails when creating users via API
Links in additional fields
Clickable Social Icon Links on Profile
Extend Existing Controller?
Requiring acceptance of terms and conditions
"Fake" OAuth Provider?
Extend Existing Controller?
Allow users to block keywords
Customize Your Site Branding
Restrict the users to post in the groups who haven't uploaded their profile picture
Adding non-visible user custom fields to the API
Seeking Advice: making a discourse forum hyper local
Can add short message to verify? Just input phone number can sign up
Add terms when make new topic
Export custom field for users in discourse hosted forum
Customizing Sign-up and Log in
Grouping poll results by user custom field
Disclaimer for tutorials
How to add custom logic input on the signup page?
Terms of service changes in Discourse platform
Custom user fields not available in api