Проверить покупался товар юзером или нет.

Приветствую. Есть вопрос.
Можно ли в Modx minishop, проверить, купил ли посетитель данный товар или нет?
Естественно посетитель зарегистрирован и залогинен в системе.
Установлены компоненты minishop2 И Ofiice.

На базе minishop2 делаю сайт по продаже обучающего видео. Подразумевается просмотр видео после покупки прямо на сайте. Готового компонента по продаже подобного контента не нашел.
Есть MSfile , но вроде это не совсем то, что нужно.

Хочу реализовать следующее.
Если авторизированный в системе посетитель приобрел и оплатил данный товар, то при заходе на страницу этого товара он видит приобретенный видеоурок. В остальных случаях посетитель видит описание урока и предложение о покупке.
Denis
18 января 2018, 10:27
1
410
0

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

Андрей
18 января 2018, 17:56
0
Как вариант можно попробовать сделать на — PayAndSee.
    Володя
    18 января 2018, 18:07
    +1
    да зачем. Тут банально сниппет с проверкой покупки товара и все.
      Володя
      18 января 2018, 18:13
      2
      +1
      примерно так
      $q = $modx->newQuery('msOrderProduct');
      $q->innerJoin('msOrder', 'msOrder', "msOrder.id = msOrderProduct.order_id");
      $q->where(array(
      'msOrderProduct.product_id' => $product->id,
      'msOrder.user_id'           => $modx->user->id,
      'msOrder.status'            => 2,
      ));
      $view = (bool)$modx->getCount('msOrderProduct', $q);
        Denis
        22 января 2018, 03:01
        0
        Спасибо!
        Написал сниппет.
        <?php
        $q = $modx->newQuery('msOrderProduct');
        $q->innerJoin('msOrder', 'msOrder', "msOrder.id = msOrderProduct.order_id");
        $q->where(array(
        'msOrderProduct.product_id' => $product->id,
        'msOrder.user_id'           => $modx->user->id,
        'msOrder.status'            => 2,
        ));
        $view = (bool)$modx->getCount('msOrderProduct', $q);
        
        if ($view) {return "Куплено";} else {return "Не куплено";};
        Судя по всему не работает. В чем я ошибся?
          Володя
          22 января 2018, 09:46
          0
          В чем я ошибся?
          $product->id
          у вас не определена переменная product
Denis
23 января 2018, 10:25
0
Спасибо! Всё заработало.
    Валерий
    11 января 2019, 19:03
    0
    Возможно вы сможете подсказать, что именно вы дописали, чтобы скрипт отрабатывал корректно?
    Я дополнил строку
    'msOrderProduct.product_id' => $product->id,
    вот так:
    'msOrderProduct.product_id' => $modx->resource,
    И даже все заработало (зарегистрированный пользователь может скачать файл), а анонимный только купить.
    Однако, зарегистрированный пользователь теперь может скачать любой файл, а не только тот, что был им куплен… Как вы это обошли?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.