Как разрешить оценивать товар только купившим?

Есть интернет-магазин на MODx Revo. В качестве компонента магазина используется miniSHOP2, в качестве дополнения для рейтинга — goodStar
Как реализовать возможность изменения рейтинга товаров только купившим его?
Денис
05 августа 2019, 11:04
modx.pro
73
0

Комментарии: 2

Наумов Алексей
05 августа 2019, 11:19
0
1. Проверяем, что пользователь авторизован (ну или если покупают не авторизованные, то нужно думать, как связать их с заказами, куками может быть). Или в письме с успешной оплатой отправлять уникальную ссылку.
2. Проверяем, что пользователь покупал товар.
3. Показываем форму с рейтингом)
ElenaLelo
05 августа 2019, 13:36
0
Что то типо этого, у меня работает
<?php
$pdo = $modx->getService('pdoFetch');
$user = $modx->user->get('id'); //получаем айди юзера
$idresource = $modx->resource->get('id'); //получаем айди текущего документа
if ($orders = $pdo->getCollection('msOrder', array('user_id' => $user))) { //получаем все заказы юзера
    foreach  ($orders as $order)
    {
      $orderproducts = $pdo->getCollection('msOrderProduct', array('order_id' => $order['id']), array('sortby' => 'id')); //получаем всю продукцию во всех заказах юзера
      foreach  ($orderproducts as $orderproduct)
        {
        if ($idresource == $orderproduct['product_id']) 
            {
        print_r('Вы покупали данный товар');
            }
        }
    }
}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
2