Проверить покупался товар юзером или нет.
        Приветствую. Есть вопрос.
Можно ли в Modx minishop, проверить, купил ли посетитель данный товар или нет?
Естественно посетитель зарегистрирован и залогинен в системе.
Установлены компоненты minishop2 И Ofiice.
На базе minishop2 делаю сайт по продаже обучающего видео. Подразумевается просмотр видео после покупки прямо на сайте. Готового компонента по продаже подобного контента не нашел.
Есть MSfile , но вроде это не совсем то, что нужно.
Хочу реализовать следующее.
Если авторизированный в системе посетитель приобрел и оплатил данный товар, то при заходе на страницу этого товара он видит приобретенный видеоурок. В остальных случаях посетитель видит описание урока и предложение о покупке.
    
    
                                                                                
            Можно ли в Modx minishop, проверить, купил ли посетитель данный товар или нет?
Естественно посетитель зарегистрирован и залогинен в системе.
Установлены компоненты minishop2 И Ofiice.
На базе minishop2 делаю сайт по продаже обучающего видео. Подразумевается просмотр видео после покупки прямо на сайте. Готового компонента по продаже подобного контента не нашел.
Есть MSfile , но вроде это не совсем то, что нужно.
Хочу реализовать следующее.
Если авторизированный в системе посетитель приобрел и оплатил данный товар, то при заходе на страницу этого товара он видит приобретенный видеоурок. В остальных случаях посетитель видит описание урока и предложение о покупке.
Комментарии: 7
                Как вариант можно попробовать сделать на — PayAndSee.            
                    
                да зачем. Тут банально сниппет с проверкой покупки товара и все.            
                    
                примерно так
                    $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);            
                Спасибо!
Написал сниппет.
                    Написал сниппет.
<?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 "Не куплено";};Судя по всему не работает. В чем я ошибся?            В чем я ошибся?
$product->idу вас не определена переменная product            
                Спасибо! Всё заработало.            
                    
                Возможно вы сможете подсказать, что именно вы дописали, чтобы скрипт отрабатывал корректно?
Я дополнил строку
Однако, зарегистрированный пользователь теперь может скачать любой файл, а не только тот, что был им куплен… Как вы это обошли?
                    Я дополнил строку
'msOrderProduct.product_id' => $product->id,вот так:'msOrderProduct.product_id' => $modx->resource,И даже все заработало (зарегистрированный пользователь может скачать файл), а анонимный только купить.Однако, зарегистрированный пользователь теперь может скачать любой файл, а не только тот, что был им куплен… Как вы это обошли?
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.