Настраиваем и используем модуль 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). Вот пример в нескольких строках кода, который вам поможет решать такую задачу.

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

Создание условий `или` в запросах через db API Drupal

Январь 4, 2019 г.

Конструирование запросов через Drupal DB API необходимо для поддержки совместимости кода для разных источников данных. Друпал предоставляет и более прямые средства для написания запросов вроде db_query, и никто не может запретить вам применить функционал ...

Читать

Drupal 9 за БН amazon cloudfront

Октябрь 12, 2021 г.

Типичная проблема сайта, когда тот оказывается за балансировщиком нагрузки (load balancer), это несоответствие части заголовков запроса клиента и тех заголовков, которые передаются балансировщиком серверу. Чаще всего мы сталкиваемся с этим при запуске ...

Читать

Интеграция Usercentrics CMP в Drupal

Октябрь 21, 2021 г.

Интеграция не сложна в принципе, т.к. Usercentrics CMP ставит задачу упростить сбор разрешений пользователя и управление скриптами на основе данных разрешений. Первым шагом интеграции является подключение скриптов CMP в заголовок (head) страницы ...

Читать

Пишем логи в Drupal 9

Октябрь 8, 2021 г.

Привычная функция watchdog, которую мы использовали в 6/7 версиях, к девятке пережила эволюцию до сервиса логирования. Бывшее ранее: [crayon-6982ff7eaae3e324421214/] Сейчас выглядит так: [crayon-6982ff7eaae46287577328/] Помимо того, ...

Читать
 

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

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



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