Пользовательские поля и форма регистрации
В этом разделе вы познакомитесь с понятием пользовательского поля и их типами, научитесь создавать их, а также настраивать форму регистрации и страницу профиля участника.
Перед тем, как начать
Проверьте, что у вас есть права на работу с пользовательскими полями. Обычно такие права есть, если вы настраиваете платформу с нуля и/или имеете полный доступ администратора. Проверить наличие прав можно с помощью меню: если в нём есть раздел , то вы можете с ними работать.
Краткое описание функциональности
Пользовательское поле - это информация, которую мы как администраторы хотим получить от участников на каком-то из этапов проекта либо вносим самостоятельно. По умолчанию к такой информации относится ФИО участника, его учебное заведение, адрес электронной почты и пароль для входа, эти поля уже созданы и настроены. При необходимости (а она возникает практически всегда) можно добавить новые поля.
Информацию для пользовательских полей можно собирать из четырёх источников:
Форма регистрации;
Профиль участника;
Кнопка "Участвовать" в проектах (подробнее про неё тут: Дерево основного раздела);
Регистрация на заключительный этап (подробнее про это тут: Мероприятия заключительных этапов).
В этом разделе будут рассмотрено добавление собственных пользовательских полей и настройка первых двух источников.
Создание пользовательского поля
Для примера создадим новое пользовательское поле для ввода номера телефона и отобразим его в форме регистрации.
Войдите в систему под учётной записью администратора, после этого должна открыться главная страница панели администрирования.
В панели администрирования найдите меню и откройте пункт , Вы перейдёте на страницу со списком пользовательских полей.
Нажмите на кнопку Добавить, она откроет страницу создания новости.
Заполните поля Ключ и Название (например, можно ввести
phoneNumberи Номер телефона). В поле Тип данных выберите "Строка", поставьте галочку Глобальное поле.В поле Порядковый индекс в форме регистрации введите число 99, это переместит поле в конец формы регистрации.
Нажмите на кнопку Сохранить. Если поле успешно сохранится, появится соответствующее системное уведомление в правом верхнем углу. В случае ошибки появится системное уведомление с пояснением.
Вернитесь к списку полей, нажав на кнопку Назад. В таблице должно будет появиться созданное поле.
Проверьте, что поле действительно появилось в форме регистрации. Для этого откройте сайт платформы в режиме инкогнито и нажмите на кнопку Регистрация в шапке. В конце формы (перед галочкой про согласие на обработку персональных данных) должно появиться строковое поле с тем названием, которое было задано при создании.
Описание полей
Поля, отмеченные звёздочкой, являются обязательными при создании пользовательского поля.
- Ключ*
Уникальный идентификатор пользовательского поля.
- Название*
Название поля, которое по умолчанию будет отображаться в интерфейсе участника. В случае необходимости название в интерфейсе участника можно задать отдельно через локализации: Языки и локализации интерфейса участника.
- Тип данных*
Используемый тип поля. Подробнее: Типы пользовательских полей.
- Опции
В этом поле для типов Список (один вариант) и Список (несколько вариантов) можно указать пункты списков. Для типа Дата в нём можно указать формат отображения даты. Для остальных типов поле это пустое.
- Описание
Описание поля, которое отображается участнику в форме. Сюда, например, можно добавить какое-то пояснение, подсказку или примеры заполнения. Поддерживается разметка Markdown с добавлением чистого HTML, подробнее с основами разметки можно ознакомиться здесь: Оформление текстов.
- Правила валидации
Правила проверки корректности значения. Для каждого типа свои настройки правил проверки, единственная общая настройка - Обязательное поле.
- Правила видимости
Правила видимости поля в профиле участника. Подробнее про настройки правил видимости можно почитать здесь: Видимость разделов.
- Глобальное поле*
Определяет, показывать ли поле в форме регистрации.
- Можно изменять в профиле
Определяет, можно ли изменять значение поля в профиле.
- Показывать пользователю
Определяет, будет ли отображаться поле пользователю в профиле.
- Изменять через запросы
Включает модерацию изменённых данных перед их обновлением в профиле через запросы на изменение. Подробнее с запросами можно ознакомиться здесь: Запросы на изменение.
- Порядковый индекс в форме регистрации
Задаёт порядок полей в форме регистрации: чем меньше индекс, тем выше поле в форме. Поля с одинаковыми или отсутствующими индексами отображаются в произвольном порядке.
- Порядковый индекс в профиле
Задаёт порядок полей в профиле участника по тем же правилам, что и для формы регистрации.
Настройка формы регистрации
Для настройки формы регистрации у нужных полей нужно поставить галочку Глобальное поле и расставить порядковые номера в поле Порядковый индекс в форме регистрации. Ещё раз напомним, что поля с одинаковыми или отсутствующими индексами отображаются в произвольном порядке.
Настройка полей в профиле
В профиле с пользовательскими полями есть три вкладки: Личные данные, Пароль и Дополнительные данные.
Вкладка Личные данные всегда содержит следующие поля:
Электронная почта (ключ
email);Фамилия (ключ
lastName);Имя (ключ
firstName);Отчество (ключ
middleName);Учебное заведение (ключ
institutionId).
При необходимости эти поля можно скрыть, но это может привести к некорректной работе страницы профиля.
Вкладка Пароль предназначена для изменения пароля, для этого нужно ввести текущий пароль и новый пароль дважды.
Вкладка Дополнительные данные может содержать остальные пользовательские поля, и настраивается именно она. Порядок полей определяется с помощью индексов так же, как в форме регистрации. Пользовательское поле будет отображаться в профиле, если стоит галочка Показывать пользователю и участник проходит по правилам видимости. Также отметим, что поле не отображается, если снята галочка Можно изменять в профиле и у участника не введено значение этого поля.
Изменение и удаление пользовательского поля
Изменение ключа пользовательского поля или удаление поля вызывает ряд проблем, которые нельзя решить, используя исключительно интерфейс:
Поле со старым ключом останется в системе, и даже если удалить его, то потом нельзя будет создать ещё одно поле с таким же ключом.
Все данные, которые заполнялись в этом поле до изменения, будут привязаны к старому ключу, и при удалении старого поля эти данные исчезнут из интерфейса. При этом технически данные не удалятся, и в случае необходимости их можно будет получить или привязать к новому ключу.