Продажа доступа к материалам в Drupal Commerce

В этой статье мы разберемся как организовать платный доступ к определенным разделам сайта на базе Drupal + Commerce

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

Прежде чем приступить у вас должен быть установлен Drupal и настроенный Commerce, а также нам понадобится следующие модули:

  • Content Access
  • Rules.

если они у вас не установлены скачайте и установите

  1. Создаём тип материала «Premium content» Структура » Типы содержимого » Добавить тип содержимого (admin/structure/types/add)
  1. создаётся роль «premium» : Пользователи » Разрешения » Роли (admin/people/permissions/roles)
  1. Вернемся к типу материала «Premium content» и даём роли premium разрешение на просмотр материалов Premium content, после установки модуля Content Access у вас на странице редактирования типа материала (admin/structure/types/manage/premium_content) появиться новая вкладка Контроль доступа отметь на ней галочками пункты как на скриншоте ниже:
  1. Создаём товар «Premium role»

На этом подготовительные работы закончены переходим к настройке правила Rules

Переходим на страницу Rules: Конфигурация » Процесс » Правила (admin/config/workflow/rules) и нажимаем кнопку Добавить новое правило на открывшейся странице вводим название для правила в поле Реакция на событие выбирете Commerce Order » После обновления существующей commerce order и сохраняем правило

После добавления правила приходим к его настройке, в разделе Условия нажмите на кнопку Добавить Условие (condition)
В открывшемся окне из списка выбираем опцию: Order contains a particular product
Далее в поле Значение вводим артикул нашего товара(см. пункт 4 этой статьи) и сохраняем Условие
Переходим к настройке действия: нажмите на кнопку Добавить действие(action)
В открывшемся окне из списка выбираем опцию: Добавить роль пользователя
Далее в поле Селектор данных выбираем по очередно : commerce-order:owener, в поле Роли выбираем нужную нам роль в данном примере: premium и сохраняем действие(action)
После всех настроек должен получиться следующий результат:

если у вас такой же результат сохраните изменения и попробуйте заказать товар

Теперь после покупки товара «Premium role», юзеру будет назначена роль premium и он получит доступ к Premium content.

Если нужно ограничить роль по времени скачайте модуль role expire, ставьте бета версию модуля и накатите на него патч

Обещанный в начале статьи видео-ролик от разработчика Drupal Commerce

Во втором видео рассказывается как продавать доступ к определённым нодам, а не к типу материала.

Свежие записи
Команда RD

Команда RD и RMDIR позволяют удалять как каталоги, так и

Интернет
help2site
ОЧЕРЕДНОЕ ФИШИНГ — МОШЕННИЧЕСТВО 2022 Г

Спешим предупредить Вас о новом  фишинг-мошеничестве, последнее время на многие E-mail адреса приходят письма следующего содержания: Hello!I’m a member of an international hacker group. As

Web-Дизайн
help2site
Подборка полезных плагинов для WordPress

Оглавление Плагины для WordPress, которые пригодятся в первую очередь В этом пункте подборка базовых плагинов которые я  устанавливаю на каждый новый сайт под управлением WordPress.  FD Feedburner

Оборудование
help2site
Влияние блока питания на работу компьютера

Что нужно для стабильной работы компьютера? Хорошая видеокарта, процессор, системная плата, но многие забывают добавить к этому списку качественный и мощный блок питания. Блок питания, как центр электроснабжения

Web-Дизайн
help2site
Продажа доступа к материалам в Drupal Commerce

В этой статье мы разберемся как организовать платный доступ к определенным разделам сайта на базе Drupal + Commerce Не давно мене нужно было сделать сайт с платным контентом, доступ

Настройка
help2site
Как почистить компьютер

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

Windows
help2site
Активация терминального сервера Windows Server 2003/2008/2008 R2

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

Игры
help2site
Games Explorer — в помощь геймерам

Начиная с операционной системы Windows Vista присутствует такое полезное приложение, как «Обозреватель игр» (Games Explorer). Эта программная оболочка создана для управления играми, ( это касается не