minishop2 формирование заказа

Пытаюсь реализовать оформление заказа кастомное, но столкнулся с проблемой или с лагом минишопа.
Слушаю POST запросы по этому url site.ru/push-order

<?php
if ($modx->event->name != 'OnPageNotFound' || $_SERVER['REQUEST_METHOD'] == 'GET') {return false;}
$alias = $modx->context->getOption('request_param_alias', 'q');
if (!isset($_REQUEST[$alias])) {return false;}

$request = $_REQUEST[$alias];
$tmp = explode('/', $request);

// Ссылка подходит под заданный формат: /push-order
if ($tmp[0] == 'push-order' && 1 == count($tmp)) {
    
    $log = "<pre>";
    $log .= print_r($tmp, true);
    $log .= "</pre>";
    $modx->log(modX::LOG_LEVEL_ERROR,'plagin|custom_routing_orders url'.$log);
    $modx->log(modX::LOG_LEVEL_ERROR,'plagin|custom_routing_orders REQUEST_METHOD '.$_SERVER['REQUEST_METHOD']);
    $modx->log(modX::LOG_LEVEL_ERROR,'plagin|custom_routing_orders HTTP_X_REQUESTED_WITH '.$_SERVER['HTTP_X_REQUESTED_WITH']);
    $log = "<pre>";
    $log .= print_r($_POST, true);
    $log .= "</pre>";
    $modx->log(modX::LOG_LEVEL_ERROR,'plagin|custom_routing_orders POST '.$log);
    
    
    $scriptProperties = array(
        'json_response' => true, // возвращать ответы в JSON
        'max_count' => 1, // максимальное число товаров для добавления за один раз
        'allow_deleted' => false, // не добавлять в корзину товары с deleted = 1
        'allow_unpublished' => false, // не добавлять в корзину товары с published = 0
    );
    $miniShop2 = $modx->getService('minishop2','miniShop2', MODX_CORE_PATH . 'components/minishop2/model/minishop2/', $scriptProperties);
    // Инициализируем класс в текущий контекст
    $miniShop2->initialize($modx->context->key, $scriptProperties);
    $miniShop2->cart->clean();
    $miniShop2->order->add('delivery', 1);
    $miniShop2->order->add('payment', 1);
    $miniShop2->order->add('reciever','test');
    $miniShop2->order->add('email','obuchov.k@gmail.com');
    $miniShop2->cart->add($_POST['quest_id']);
    $response = $miniShop2->order->submit();
    $modx->log(modX::LOG_LEVEL_ERROR,'plagin|custom_routing_orders submit'. $response);
    $response = array(
        'message' => "test"
    );
    $res = $modx->toJSON($response);
    die($res);
    if (!empty($res)) {
	die($res);
    } 
}
else{}// Иначе ничего не делаем и юзер получает 404 или его перехватывает другой плагин.


Суть лага в том что при срабатывании плагина ничего не происходит, никаких ошибок вот из логов то что возвращает:
$modx->log(modX::LOG_LEVEL_ERROR,'plagin|custom_routing_orders submit'. $response);

[2016-07-25 13:01:32] (ERROR @ /home/t/tdwebp64/topkvestov.ru/public_html/core/cache/includes/elements/modplugin/30.include.cache.php : 51) plagin|custom_routing_orders submit{"success":true,"message":"\u041a\u043e\u0440\u0437\u0438\u043d\u0430 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043e\u0447\u0438\u0449\u0435\u043d\u0430","data":{"total_count":0,"total_cost":0,"total_weight":0}}

А если убрать:
$miniShop2->order->add('delivery', 1);
$miniShop2->order->add('payment', 1);
То все гуд и заказ формируется и письмо отправляется, но ругается на 311 строку в файле — core/components/minishop2/model/minishop2/msorderhandler.class.php

foreach ($requires as $v) {
			if (!empty($v) && empty($this->order[$v])) {
				$errors[] = $v;
			}
		}

И вообще $requires в любом случае пустой получается как-то так…
Как быть что не так делаю уже и класс начал просматривать, но вроде все ок… ???
В поиске по сайту искал есть посты с похожими реализациями, но почему это не срабатывает учитывая, что если просто убрать:
$miniShop2->order->add('delivery', 1);
$miniShop2->order->add('payment', 1);

то все нормально…
Помогите пожалуйста разобраться…
Константин Обухов
25 июля 2016, 10:22
modx.pro
2 614
-2

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

Константин Обухов
25 июля 2016, 13:48
-1
Хах вообщем я чет заработался
$miniShop2->order->add('reciever','test');
меняем на
$miniShop2->order->add('receiver','test');
и все гуд кому пригодиться буду рад) Была ошибка в моем коде не знай откуда я скопировал её или как так вышло(вроде прямо с формы тестовой копировал на minishop2.com)
    Дмитрий Иванов
    25 июля 2016, 20:26
    0
    Про cut слышали? Говорят хорошая вещь.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    3