Пользователи в Drupal.

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

Регистрируем пользователя.

В главном меню у нас есть два пункта относящиеся к пользователям. Мы начнём с общих настроек. Переходим в меню Configuration → People → Account setting и сразу переходим к настройкам регистрации.

настройки регистрации пользователя в Drupal

Для начала определимся каким образом будет происходить регистрация. На скриншоте отмечен пункт только администратор. Это пункт фактически отключает регистрацию пользователей на сайте. Сомнительное удовольствие самому заполнять профили пользователей. Если уж соберётесь разрешать регистрацию пользователей выбирайте один из следующих пунктов. В обоих случаях пользователи регистрируются сами. Только в первом случае пользователи сразу получают статус зарегистрированного, а во втором после одобрения администратора. Полезно будет включить опцию проверки e-mail.

С регистрацией мы разобрались, переходим к удаления аккаунтов. Само удаление в настройках не нуждается, но у нас остаётся созданный пользователем контент и нам надо решить что мы будем с ним делать. На выбор предлагают четыре варианта. Лучшим вариантом для сайта будет оставить контент.

Следующий раздел - персонализация пользователя. Здесь мы можем разрешить пользователю добавить подпись к своим сообщениям и аватар. Подпись дело вкуса, их обычно используют на форумах. Разрешая аватарку помните что выводиться картинка будет не только в комментариях но и в постах создаваемых пользователем.

разрешаем пользователю закачать аватарку

Большая часть настроек здесь относится к аватарке. Пользователи не любят делать лишние движения поэтому часть работы мы можем сделать за них. Не нужно задавать жёсткие условия по размеру картинок. Достаточно указать пределы за которые не стоит выходить, а чтобы все аватарки были одинакового размера указать для них стиль(Picture display style). Как настраивать стили можно почитать в статье Простое добавление картинок. Об ограничениях для файлов напишите в поле Picture guidelines. Этот текст будет выводиться под формой закачки аватарки в профиле пользователя.

На последок настроим или вернее напишем шаблоны писем которые будут отправляться с сайта при создании или удалении профиля, при блокировке пользователя, для восстановления пароля. Шаблоны писем поддерживают модуль Token.

Кроме готовых шаблонов у вас должен быть почтовый ящик расположенный на том же доме что и сайт. Этот адрес должен быть прописан на странице "Информация о сайте"(Configuration - System - Site information). Фактически это будет служебный адрес которым будут подписаны все письма уходящие с сайта. Почта для домена есть наверное у каждого хостера, поэтому проблем возникнуть не должно. Хотя есть ещё один вариант. Почта для домена от Яндекса или Google. То есть ваш почтовый ящик ваше_имя@ваш_домен.ru доступен по адресу mail.ваш_домен.ru, но при этом обладает всеми функциями и знакомым интерфейсом Gmail или Яндекс почты.

Что разрешить пользователю?

Что можно а что нельзя определяется на странице разрешений People → Permissions.

Определяем разрешения для ролей Drupal

Страница разрешений представляет из себя таблицу. В левом столбце доступные действия. В остальных столбцах отмечают кому они разрешены. Думаю всё понятно и без объяснений.

Может возникнуть необходимость создать группу пользователей с большими правами, например модераторы. Нет ничего проще. Переходим People → Permissions → Roles

создаём новую группу пользователей(роль)

Вписываем в поле название группы пользователей и жмём кнопку рядом с полем. Теперь переходим на страницу разрешений. Обратите внимание что все разрешённые действия для зарегистрированных пользователей уже доступны для нашей новой группы пользователей, нам остаётся отметить только дополнительные разрешения.

Расширенный профиль.

На последок расскажу об ещё одном интересном моменте персонализации пользователя. Вернёмся на страницу с основными настройками, там где мы разрешали регистрацию, составляли шаблоны писем и прочее. В правом верхнем углу есть вкладка manage field, перейдя на которую мы увидим следующее.

добавляем поля к профилю

Ничего не напоминает? Таким же образом мы добавляли поля к контенту. Таким образом можно добавить к профилю текстовое поле, где пользователь может рассказать о себе.

Добавляя поля к профилю мы можем сделать ещё одну полезную вещь. На некоторых сайтах перед регистрацией нужно ознакомиться с правилами. Факт ознакомления подтверждается установкой галочки. Мы попробуем сделать нечто подобное. На странице добавления полей к профилю добавим новое поле. Я его назвал "с правилами ознакомлен(а)". Тип поля Boolean. Виджет single on/off checkbox. Настраиваем правила обработки.

правила обработки чекбокса

На следующей странице отмети что поле обязательное(Required field). В Help Text пишем что нужно ознакомиться с правилами и вставляем ссылку на страницу где они написаны. Редактора нет поэтому теги прописываем в ручную. Единственный тег который вам здесь понадобится это тег <a>. Подробнее о нём можно прочитать в WebonlifeСправочнике в разделе HTML, вот <a>ссылка</a>. Использовать название поля(Use field label instead of the "On value" as label) отмечаем. Иначе у нас на против чекбокса в форме регистрации будет стоять единица, а не название поля. Значение по умолчанию(Default value) не отмечаем.

Делаем чекбокс обязательным

Теперь давайте посмотрим как это выглядит для желающих зарегистрироваться.

регистрация не прошла

Это я попытался зарегистрироваться не поставив галочку. Для правил не обязательно создавать отдельную страницу. Можно вписать их в Help Text, и они все будут отображаться под формой комментариев. Используя CSS можно сделать небольшое окно с прокруткой.

правила под формой регистрации

А статья получилась не маленькая. Не зря стал писать. Все вопросы в комменты и в контакты. Если кому интересно как сделать небольшое окно с скролом как на последнем скриншоте пишите, обязательно расскажу. На сегодня всё. Всем удачи.