Shopkeeper смена статуса через сниплет

Помогите пожалуйста, сайт разработчика не работает, нужно срочно есть код который меняет статус заказа:
if(isset($_GET['action']) && $_GET['action']==''){
    $order_id = isset($_GET['id']) ? trim($_GET['id']) : 0;
    if($order_id){
        $order = $modx->getObject('SHKorder',array('id'=>$order_id, 'userid' => $user_id));
        if($order){
           $order->set('status',5);
           $order->save();
        }
    }
}

Он работает с помощью URL, мне нужно что бы статус меня с помощью сниплета в который передаём параметры id товара и id пользователя у меня получилось что то типа того:

$userID = $payment->get('userid');// id пользователя
$orderID = $item->get('content');// id товара

if($orderID){
        $order = $modx->getObject('SHKorder',array('id'=>$orderID, 'userid' => $userID));
        if($order){
           $order->set('status',5);
           $order->save();
        }
}

Но почему то не работает
Алексей Добряков
15 февраля 2013, 04:47
modx.pro
2 890
0

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

Алексей Добряков
15 февраля 2013, 08:51
0
Короче я походу понял в чём дело:
SHKorder::load() is not a valid static method.
Как тогда сделать?
    Василий Наумкин
    15 февраля 2013, 08:57
    0
    Похоже, ты не подключил классы компонента.

    Попробуй добавить в начало
    require_once MODX_CORE_PATH.'components/shopkeeper/model/shopkeeper.class.php';
    $SHKmanager = new SHKmanager($modx);
      Алексей Добряков
      15 февраля 2013, 09:03
      0
      В журнале ошибок нету, но теперь даже письмо не приходит что оплата прошла, Василий я буду тебе очень очень благодарен если выручишь мне нужно до 10 утра доделать я заплачу
        Василий Наумкин
        15 февраля 2013, 09:15
        0
        Да я miniShop2 занят, нет желания разбираться с Shopkeeper, который я совсем-совсем не знаю.

Василий Наумкин
15 февраля 2013, 09:22
0
Так, попробуй вот это добавить, я там один файл потерял:
require_once MODX_CORE_PATH.'components/shopkeeper/model/shopkeeper.class.php';
require_once MODX_CORE_PATH."components/shopkeeper/model/shk_mgr.class.php";
$SHKmanager = new SHKmanager($modx);

Тут надо 2 класса, менеджер расширяет основной. То что я раньше написал, должно выдавать фатальную ошибку — вот и письма пропали.
    Алексей Добряков
    15 февраля 2013, 09:25
    0
    Нашёл другой вариант))) Спасибо тебе дорогой друг самый лучший человек и программист которого я знаю!!! Ты лучший!!! Благодаря тебе нашёл другой вариант)))))))
      Василий Наумкин
      15 февраля 2013, 09:27
      0
      Ну так делись со всеми, мало ли — пригодится кому.
        Алексей Добряков
        15 февраля 2013, 09:34
        0
        Обязательно просто нашёл простой вариант оплаты без всяких заморочек который есть в shopkeeper и расширил функционал без всяких ограничений, я проста уже 26 часа не сплю
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    9