Drupal 8: Работа с полями Профиля пользователя

Drupal: 
Уровень сложности: 

Многопользовательский сайт - это одно из преимуществ CMS Drupal всех версий. В эту систему встроены функции управления правами доступа, с помощью которых можно настраивать сайт для работы многих пользователей. Возможности Друпал в этом отношении лучше других систем управления содержимым. Пользователям можно присваивать роли, например, администратор, редактор, автор, блогер, клиент, зарегистрированный пользователь, и назначать этим ролям права доступа к управлению сайтом, материалами, редактированию только своих статей и страниц, добавлению заказов.

Профиль пользователя необходимо прорабатывать при разработке портала, доски объявлений, социальной сети, корпоративного сайта, сайта заказа услуг и управления заказами, тикет-системы, магазина и т.д.

 

Базовые настройки многопользовательского сайта на Drupal 8

 

Разрешить регистрацию на сайте

Откройте в Администраторском разделе: Конфигурация - Настройки учётной записи, то есть /admin/config/people/accounts, и в секции "Кто может создавать учетные записи?" отметьте пункт "Посетители", если вам не нужно проверять вручную каждую регистрацию.

разрешить регистрацию на сайте друпал 8

 

Доступ к просмотру Профилей пользователей

При добавлении материалов обычно Друпал выводит строку, содержащую информацию об авторе и дату. По умолчанию только Администратор может просматривать профили пользователей (и владельцы профилей могут смотреть только свой профиль), поэтому все другие пользователи видят имя автора обычным текстом, без ссылки на профиль.

Чтобы профили пользователей были видны зарегистрированным пользователям и неавторизованным, нужно установить права.

Откройте в Администраторском разделе Пользователи - Права доступа, или так /admin/people/permissions, и в секции Пользователь (User) предоставьте нужным ролям доступ к просмотру профилей как на скриншоте.

доступ к просмотру профилей
Просмотреть информацию о пользователе - предоставляет роли доступ к просмотру страниц пользователей сайта.

 

Права изменения имени пользователя, удаления учётной записи

На странице Права доступа есть также права удаления учётной записи и изменения имени. Исходя из политики сайта, настройте эти права.

 

Сообщения о регистрации, восстановлении пароля

Актуально для многопользовательских сайтов на бесплатной CMS Drupal менять тексты e-mail сообщений, отправляемых автоматически. Шаблонные письма почтовые сервисы (Майл, Gmail) фильтруют: либо кладут в СПАМ, либо удаляют совсем. Поэтому на странице Конфигурация - Настройки учётной записи, /admin/config/people/accounts, предлагается откорректировать тексты писем. В письмах есть токены - переменные, которыми можно пользоваться. Отказ от шаблонов не решает проблему фильтрации полностью, но это не основная тема поста.

 

Управления полями пользователей

По умолчанию CMS Drupal 8 предоставляет пользователям при регистрации и изменении профиля следующие поля:

  • E-mail,
  • Имя пользователя,
  • Изображение,
  • Персональная форма контактов,
  • Часовой пояс.

Чтобы убрать поле "Персональная контактная форма", можно отключить модуль ядра Contact или скрыть поле в CSS темы (внешней и администраторского раздела, если пользователи могут использовать тему админки).
Поле "Часовой пояс" также можно скрыть в CSS.

 

Дополнительные поля Профиля

Управление полями Профилей пользователей производится на странице Конфигурация - Настройки учётной записи - Управление полями, то есть тут: /admin/config/people/accounts/fields .

После создания всех необходимых полей можно настроить их очередность при заполнении Профиля на странице "Управление отображением формы", то есть /admin/config/people/accounts/form-display , а затем настроить порядок отображения полей и настройки отображения на странице "Управление отображением" /admin/config/people/accounts/display .

 

Назначение ролей

Управлять ролями пользователей по умолчанию может только Администратор.
Создавать роли можно на странице Роли - /admin/people/roles
Управлять правами ролей - на странице Права доступа /admin/people/permissions
Предоставить другим ролям возможность назначать роли другим пользователям - опция "Управление пользователями" на странице Права доступа.
Чтобы предоставить роли, откройте страницу Пользователи /admin/people, отметьте несколько пользователей и выберите действие "Присвоить роль" как на скриншоте, а также при редактировании нужного пользователя.
добавить роль друпал 8

 

Вопросы по Профилю пользователя на Друпал 8

 
Как скрыть некоторые поля при регистрации но предоставить их заполнение при редактировании профиля?
Если поля не обязательные - скройте их в CSS внешней темы сайта, и предоставьте пользователям использование темы администратора (в Правах доступа). Более точное решение будет сложнее, задавайте вопросы на форуме.

Как на Drupal 8 сделать редактирование страницы пользователя динамическим, как в соц. сетях?
В настоящее время о таком модуле для новой CMS Drupal 8 неизвестно.