1. Создаём роль VIP.
2. Включаем Content Permissions (в ССК)
a. Создаём тип контента VIP. Убиваем в нем дефолтное «боди».
b. В типе контента VIP создаём текстовое поле VIP
c. В разрешениях admin/user/permissions для поля VIP указываем право чтения только для роли VIP
3. Включаем модули Rules, Ubercart, Ubercart - Userpoints (Userpoints Product), Userpoints (Userpoints No Negative, Userpoints Role, Userpoints rules integration).
4. Создаём товар «point» ценой 1 рубль.
5. Создаём правило: вычитание 1 балла за просмотр ноды VIP.
a. Настройки правила: «Content is going to be viewed»
b. IF: указать тип контента VIP
c. DO: указать «Grant points to a user» = -1.
6. В /admin/settings/userpoints указываем: Points for Roles/ Role settings/ Баллов для роли:VIP = 1
В итоге получаем:
1. Анонимусы и юзеры не могут просматривать контент VIP.
2. Юзеры оплачивают (покупая points) любую сумму, в результате чего баланс становится >0, юзер получает автоматически роль VIP и доступ к контенту VIP.
3. Просматривает ноды VIP, в результате каждый раз теряет по баллу, и так до 0 – в этот момент роль сбрасывается до юзера.
ПС. Не забудьте включить Userpoints No Negative, т.к. юзеры видят заголовки нод, и иначе при тыке баланс будет уходить в минус.
ППС. Цену можно любую ставить, в Points for Roles указывать соответственно.
Комментарии
Есть штук 5 модулей на тему...
http://www.drupal.ru/node/20394
есть, да все мимо кассы
А какие? Можно поподробнее?
А что будет при переоткрытии одног и того ңе документа? будет -1 или как?
да, -1.
можно предупреждение выводить, чтобы такого не происходило.
Попробовал (Drupal 7), не меняется роль когда я добавляю пользователь поинты.
В 3-м пункте у меня нет уберката - он мне без надобности, т.е. админ добавляет поинты вручную за какие то заслуги. И когда он добавляет поинты - роль не меняется... В чем может быть проблема?
А как реализовать покупку поинтов пользователями? Можно поподробнее на этом пункте?
написано же «4. Создаём товар «point» ценой 1 рубль.»
это товар в юберкарте - в юберкарте и продавать/покупать. читайте внимательно все что написано.
А, ну это-то понятно. Я просто немножко не в ту тему вопрос конечно задал.. тут вопрос в доступе к контенту, но меня просто интересует сам процесс пополнения кол-ва поинтов. Если создать товар поинт ценой 1 рубль, с правилом зачисления на счет пользователя соответственно 1го поинта (через product_feature или rules), то получается, что купить пользователь сможет за раз только 1 поинт. А если пользователь захочет, к примеру, купить 39 поинтов, т.е. якобы пополнить баланс на 39 рублей, чтобы просмотреть 39 VIP страниц, как поступать в таком случае? Сейчас активно сёрфю инет на эту тему и пришла в голову мысль создать товар с выборочной ценой через uc_varprice и как-то связать через rules сумму, введенную пользователем с кол-вом points, которые упадут на баланс пользователя. Правда после этого появится вопрос как разграничить реальный платежный модуль (к примеру roboXchange) с userpoits_ubercart так, чтобы они не вываливались оба при процессе заказа товара (да, у меня еще и товары). В общем, я конечно немного не в тему тут, но если есть подсказка, рад узнать Спасибо.
и как юзер должен принять решение - покупать доступ к контенту или нет, если он его не видит?
обычно люди не покупают котов в мешке
он видит Заголовок ноды. Ну и можно дополнительное поле текстовое создать, с текстом, где будет написано, что этот контент платный, цена такая, купите поинты.
ну да, этот текст писался когда ещё 7ки не было.
в юбере корзина - покупатель может менять количество товаров.
Придумал свой способ пополнения userpoints без изменения кол-ва товаров http://www.drupal.ru/node/92333, но он не совсем закончен. Надеюсь что мне ответят и помогут в его окончании, хотя для конкретно данной темы, если на сайте не предполагается каких-то товаров, способ рабочий.