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

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

Drupal migration из CSV файла

Март 1, 2024 г.

API миграции в Drupal позволяет "тащить" данные из разных источников, но работает это на базе контрибных модулей, т.е. не из коробки. Например, модуль migrate_source_csv добавляет возможность добавить CSV файл как источник данных. Создание каких ...

Читать

Как убрать поле ввода времени в date_popup

Март 22, 2018 г.

Если вы используете в своей форме (API Drupal 7) поле даты, поставляемое модулем date/date_popup,  то возможно, хотели бы избавиться от поля ввода времени. ...

Читать

Подключение внешних файлов библиотек в Drupal *.libraries.yml

Апрель 7, 2024 г.

При объявлении библиотек вы можете подключать не только локальные, но и внешние файлы. Для этого нужно указать тип библиотеки - external. Например: [crayon-69b7dc84da6de584185980/] О полном списке допустимых атрибутах читайте в документации.

Читать

Создать пользователя сразу на всех сайтах мультисайтинга в Drupal

Июнь 6, 2019 г.

С помощью drush и такой то матери (bash) обойдем все сайты и создадим одного и того же юзера на каждом из сайтов. Долго тянуть не стану - вот текст скрипта: [crayon-69b7dc84da86a404671388/] В начале вы задаёте нужные переменные (задайте свои ...

Читать
 

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

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



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