Настраиваем и используем модуль profile2, Drupal 7

Поговорим о модуле profile2, Drupal 7.

Модуль расширяет наши возможности в создании и управлении профилями пользователей. Мы сможем создать несколько типов профилей со своими полями, получим отдельные страницы регистрации для каждого из типов пользователей и отдельные страницы просмотра и редактирования профиля.

Установка

Страница проекта модуля — drupal.org/project/profile2. Качаем последнюю версию, добавляем в свой проект (например, в sites/all/modules/). Я также устанавливаю модуль profile2_regpath, чтобы получить отдельные страницы регистрации.

На странице модулей drupal мы получаем примерно такую картинку:

profile2-modules

Настройка

Настройки есть только у модуля Profile2, где мы создаём и настраиваем типы профилей [admin/structure/profiles]. Я создал целых три профиля — для организации (organization), частного лица (private person) и ИП (self-employed). У каждого свой набор полей.

profile2-cusrom-profiles

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

profile2-label

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

profile-org/1/view — просмотр (view) профиля организации (org) пользователя с user_id = 1
profile-org/1/edit — редактирование (edit) профиля организации (org) пользователя с user_id = 1

Пара чекбоксов позволяет сделать общие настройки профиля.

profile2-checks

Первый из них решает показывать ли поля данного профиля на всех формах регистрации (что то вроде общего для всех профиля), второй чекбокс позволяет выделить редактирование и просмотр полей данного типа профиля на отдельные страницы, убирая их с базовой страницы профиля (как в примерах выше — profile-org/1/view  и profile-org/1/edit).

Включаем опции модуля Profile2 registration path.

profile2-regpath-settings

Галочка разворачивает целый набор настроек. Большинство из них не требует пояснения — это настаиваемые заголовки страниц, текст сообщения о регистрации и т.п.

Здесь же настраивается путь к форме регистрации данного типа профиля.

profile2-regpath-path

А также можно подключить роль данного пользователя после регистрации, т.е. связать тип профиля и роли пользователей на сайте.

profile2-regpath-assign-role

У меня была только одна роль — администратор, она и показана в «списке». Советую для каждого профиля создать и ассоциировать свою роль [admin/people/permissions/roles]. Тогда можно будет ограничить редактирование профилей только тем профилем, редактирование которого разрешено в настройках выбранной роли пользователя. Т.е. настройки разрешений [admin/people/permissions] могут выглядеть вот так

profile2-permissions

Здесь каждая из ролей позволяет редактировать и просматривать только свой профиль и только того типа, который ассоциирован с данной ролью.

Немного программирования

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

Мало букафф? Читайте есчо !

Вывод сообщений валидации формы рядом с формой

Март 20, 2019 г.

При возникновении ошибок, во время проверки формы друпал выполняет две вещи, которые отражаются на фронт-энд - добавляет сообщение об ошибке в стек сообщений и маркирует классом error поле, содержащее ошибку. Если форма находится далеко от места вывода ...

Читать

Глюк модуля transliteration в php 7.3.

Октябрь 20, 2019 г.

Столкнулся со следующим неприятным багом, при использовании модуля pathauto, совместно с модулем транслитерации: Drupal генерирует "обрезанные" синонимы адресов страниц. Длина получаемого синонима плавала от 40-70 символов, и я никак не мог понять ...

Читать

Замена поля таксономии в редакторе ноды в Drupal 6

Август 24, 2013 г.

Потому то я и не люблю таксономию в шестерке drupal, что возможностей ею управлять хуками почти что нет. В 7-ке ситуация лучше. У меня была задача выводить ...

Читать

Ошибка запуска Cron в Drupal 7

Апрель 16, 2020 г.

Если запуск Cron в Drupal 7 постоянно выдаёт такую ошибку - "Cron run failed.", как исправить ситуацию? Подобная статья у меня уже была, но посвященная аналогичной проблеме в Drupal 6. Решение точно такое же - нужно удалить из базы данных ...

Читать
 

Комментарии к «Настраиваем и используем модуль profile2, Drupal 7»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: