Вы здесь

Commerce Как организовать доступ к закрытым материалам после покупки?

0

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

Но количество товаров выросло с трех до двухсот (различные позиции). Поэтому пытаюсь понять в какую сторону мыслить правильно?

Может быть есть примеры как это люди думают что бы велосипед не изобретать?
Может быть есть возможность (пока логически не придумал) к примеру давать доступ к материалам (продуктам либо товарам) по коду. или через доступ к полю (т.е. к ноде есть, но к закрытому полю появляется только осле оплаты)

буду рад любому совету. Заранее спасибо!

Версия Drupal: 
7.x
Категория: 
Access control
Связанные проекты: 
Drupal Commerce
Вопрос задан 10.04.2016 - 12:37

Ответы

1

В hook_node_access() проверяйте, совершил ли текущий пользователь заказ или нет. Пример - http://xandeadx.ru/blog/drupal/562

Ответ дан 10.04.2016 - 13:18
Аватар пользователя xandeadx
xandeadx
1542

если я правильно понял, что у этого хука может быть глюк. он можен некорректно срабатывать до выполнение /admin/reports/status/rebuild или я не прав?

Комментарий оставлен 10.04.2016 - 13:27

Хук никаких глюков не имеет. Работает согласно документации.

Комментарий оставлен 10.04.2016 - 15:37

спасибо огромное! hook_node_access() огонь и правда работает. с его помощью я могу показывать ноду или не показывать, давать редактировать или не давать редактировать.

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

Комментарий оставлен 10.04.2016 - 20:05

Чтобы определить оплачен ли товар хук не нужен, нужно сделать запрос в базу данных и получить необходимую информацию.

Комментарий оставлен 10.04.2016 - 21:07
0

судя по всему велосипед действительно не нужен. а все что что я написал в базовых вещах комарца реализовано. Достаточно просто в товарах добавить поле "с закрытым материалам" и увидят его видимо только те, кто товар купил.

ответ мой оказался не верным. поторопился писать.

Ответ дан 10.04.2016 - 12:51
Вы уже дали ответ на данный вопрос. Воспользуйтесь редактированием, если желаете дополнить свой ответ.