minishop2 формирование заказа
Пытаюсь реализовать оформление заказа кастомное, но столкнулся с проблемой или с лагом минишопа.
Слушаю POST запросы по этому url site.ru/push-order
Суть лага в том что при срабатывании плагина ничего не происходит, никаких ошибок вот из логов то что возвращает:
А если убрать:
И вообще $requires в любом случае пустой получается как-то так…
Как быть что не так делаю уже и класс начал просматривать, но вроде все ок… ???
В поиске по сайту искал есть посты с похожими реализациями, но почему это не срабатывает учитывая, что если просто убрать:
то все нормально…
Помогите пожалуйста разобраться…
Слушаю 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.phpforeach ($requires as $v) {
if (!empty($v) && empty($this->order[$v])) {
$errors[] = $v;
}
}
И вообще $requires в любом случае пустой получается как-то так…
Как быть что не так делаю уже и класс начал просматривать, но вроде все ок… ???
В поиске по сайту искал есть посты с похожими реализациями, но почему это не срабатывает учитывая, что если просто убрать:
$miniShop2->order->add('delivery', 1);
$miniShop2->order->add('payment', 1);
то все нормально…
Помогите пожалуйста разобраться…
Комментарии: 3
Хах вообщем я чет заработался
$miniShop2->order->add('reciever','test');
меняем на$miniShop2->order->add('receiver','test');
и все гуд кому пригодиться буду рад) Была ошибка в моем коде не знай откуда я скопировал её или как так вышло(вроде прямо с формы тестовой копировал на minishop2.com)
Про cut слышали? Говорят хорошая вещь.
Хз а что не так?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.