Урок 5. Адреса страниц. Регистрация пользователей и создание ролей

Создание сайта на Drupal 6. Практический вводный курс

Использование модуля Path

Адреса страниц, которые мы создавали до этого, выглядели так: доменное_имя/node/№_страницы (например, developer.home/node/4). Для поисковых роботов это вполне приемлемый адрес, а вот людей он может отталкивать своей неинформативностью. Поэтому лучше, чтобы в адресах страниц был какой-нибудь намек на то, что содержится на данной странице. Например, если на странице речь идет о программировании, то логично, чтобы ее адрес выглядел примерно так: developer.home/programming.

Для того, чтобы можно было переименовывать адреса страниц, в системе управления содержимым Drupal надо включить модуль Path. После его включения на главной странице управления сайтом появится ссылка Синонимы (в разделе Конструкция сайта). Задавать собственные имена ссылкам можно здесь, но лучше это делать сразу при создании материала на странице его редактирования.

Перейдите на страницу Управление ? Управление содержимым ? Содержимое. Здесь вы должны увидеть созданные вами ранее четыре страницы. Нажмите на ссылку Изменить напротив страницы О сайте. Откроется форма ее редактирования, где должен появиться новый раздел Параметры адреса; раскройте его. В поле следует вписать новое имя страницы. Будьте внимательны, не надо писать полный адрес, developer.home/ следует опустить. Впишите в поле слово about и сохраните изменения. Аналогичным образом переименуйте остальные страницы; задайте для них такие имена - history-programming, property-lang, evolution-lang. Перейдите на какую-нибудь из этих страниц, чтобы убедиться, адрес выглядит теперь иначе.

На самом деле у нас есть еще пара страниц, которые мы не создавали, но Drupal создал их автоматически. Поскольку мы создавали записи в блог, то была сгенерирована страница, где в хронологическом порядке перечисляются все записи в блог от всех пользователей. Ее адрес — developer.home/blog. Также должны существовать страницы блогов для каждого отдельного пользователя. Перейдите на главную страницу сайта и кликните по ссылке Блог пользователя — имя_пользователя. Адрес страницы будет выглядеть следующим образом: developer.home/blog/1. Давайте переименуем этот адрес со страницы Управление ? Синонимы. Нажмите кнопку Добавить синоним, далее в поле Существующий системный путь напишите blog/1, а в поле Синоним путиblog/имя_пользователя (вместо имя_пользователя впишите логин вашего пользователя). Сохраните изменения и перейдите на страницу блога пользователя, чтобы отметить изменения в адресе страницы.

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

Посетители сайта, не зарегистрированные в системе Drupal, называются анонимными пользователями. По умолчанию они не могут оставлять даже комментарии. Чтобы убедиться в этом, достаточно покинуть аккаунт администратора. Если в вашей операционной системе стоит два и более браузеров, то не выходите из аккаунта, а запустите другой браузер и откройте сайт. Здесь вы окажетесь в роли анонимного пользователя.

Разрешим всем посетителям сайта оставлять комментарии, но во избежание спама комментарии должны будут проходть модерацию (т.е. предварительный просмотр администратором сайта). Для этого перейдите на страницу Управление ? Управление пользователями ? Разрешения ролей. В столбце анонимный пользователь в разделе модуль comment проставляем флажки иметь доступ к комментариям и размещать комментарии, далее сохраняем изменения. Теперь в окне другого браузера (где мы играем роль анонимного пользователя) перезагрузите страницу и оставьте комментарий к любой статье. (Обратите внимание, сначала происходит просмотр комментария, а уже потом его сохранение.) В результате вы получите сообщение, что ваш комментарий был отправлен на проверку, а сам комментарий вы не увидите.

Администратор системы, решивший заняться модерацией новых поступивших комментариев, должен перейти на страницу Управление содержимым ? Комментарии ? Очередь на подтвержение. Здесь каждый комментарий следует просмотреть (ссылка изменить). Комментарии, содержащие спам и другие недопустимые вещи, следует удалить, остальные опубликовать. Опубликуйте пока единственный комментарий. В другом браузере перезагрузите страницу и отметьте его появление.

Анонимный пользователь по умолчанию может зарегистрироваться в системе Drupal. Попробуйте сделать это. Перед вами откроется форма, где нужно будет вписать имя и адрес электронной почты. Сайты Drupal, расположенные в Интернет на нормальных хостингах, высылают по почте пароли для пользователей. К сожалению Denwer этого не сделает. Но давайте все равно зарегистрируемся в системе, а пароль подправим со стороны администратора сайта на странице Управление пользователями ? Пользователи (надо перейти по ссылке изменить и вписать в поле Пароль новый пароль). Теперь в другом браузере войдите в систему под только что зарегистрированным пользователем.

Зарегистрированные пользователи могут оставлять комментарии без предварительной модерации. Это не совсем хорошо, т.к. зарегистрироваться в системе может каждый, даже спамер или робот. Обычно с этим борются либо включая модерацию для зарегистрированных пользователей, либо устанавливая так называемую капчу, которая требует, например, при регистрации дополнительных действий от посетителя сайта. На странице Управление пользователями ? Разрешения ролей снимите флажок размещать комментарии без проверки для зарегистрированного пользователя. Но и после этого на реально функционирующем сайте лучше ставить капчу, иначе в системе количество эфемерных пользователей будет расти в геометрической прогрессии. Удалять их можно со страницы Управление пользователями ? Пользователи. Можно запретить посетителям регистрироваться самостоятельно вообще. Для этого нужно на странице Настройка пользователей установить переключатель в позицию Только администраторы могут создавать новые учетные записи пользователей.

Когда регистрация пользователей на сайте не предполагается, бывает лучше отключить блок Вход в систему. Отключите его и выйдите из своего аккаунта. Как теперь войти под своим логином на сайт? В CMS Drupal есть специальная страница с формой входа в систему: домен_сайта/user. Перейдите на эту страницу вашего сайта и войдите в систему через нее.

Роли

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

Но что делать, если существующих трех ролей недостаточно? Что, если на сайте должны быть как зарегистрированные пользователи, так и особые пользователи, осуществляющие проверку их комментариев и записей (модераторы). Или на сайте может содержаться материал, доступ к которому должен предоставляться только некоторым пользователям. В случае, когда возникают подобные задачи, администратор Drupal может создавать новые роли и назначать им соответствующие права.

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

Создать новую роль можно на странице Управление пользователями ? Роли. Добавьте здесь роль "блогер", далее кликните по ссылке изменить права. Разрешите блогеру следующее:

  • создавать записи в блоге
  • удалять свои записи в блоге
  • редактировать свои записи в блоге
  • иметь доступ к комментариям
  • размещать комментарии без проверки
  • доступ к содержанию сайта
  • создание синонимов адресов страниц
  • иметь доступ к профилям пользователей
  • изменять свое имя пользователя

Поскольку блогеры могут создавать записи, скорее всего, им понадобится HTML-редактор. Поэтому на странице настроек BUEditor следует назначить для роли "блогер" вариант редактора, например, Default.

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

Теперь поменяем автора у всех ранее опубликованных статей, кроме страницы "О сайте". Пусть администратор сайта только управляет им и размещает информационные страницы, а блоговые записи делают только блогеры. Для этого на странице редактирования каждой статьи в разделе Информация об авторе в поле Автор впишите имя пользователя-блогера.

Создайте еще одного пользователя-блогера (Пользователи ? Добавить пользователя). Зайдите под его аккаунтом и добавьте пару статей, например, "Что такое ядро операционной системы" и "Особенности ядер Unix-подобных операционных систем". Не забудьте назначать адресам страниц синонимы.