Создание заказа

Есть код, создания заказа, при выполнении выдает «ошибка сайт выполнил переадресацию слишком много раз». В БД соответственно куча созданых заказов. Куда копать, подскажите…
$miniShop2 = $modx->getService('minishop2','miniShop2', MODX_CORE_PATH . 'components/minishop2/model/minishop2/', $scriptProperties);
if (!($miniShop2 instanceof miniShop2)) return '';

// Инициализируем класс в текущий контекст
$miniShop2->initialize($modx->context->key, $scriptProperties);

$miniShop2->order->add('user_id', 3);
$miniShop2->order->add('delivery', 1);
$miniShop2->order->add('payment', 1);
$miniShop2->order->add('email', 'zzzz@mail.ru');
$miniShop2->order->add('phone', '111-222-33-44');
$miniShop2->order->add('receiver', 'Иван Иванович Иванов');
$miniShop2->order->add('comment', 'коммент');

$miniShop2->cart->clean();
$miniShop2->cart->add(164,1);
$response = $miniShop2->order->submit();
Владимир Бабусенко
06 декабря 2016, 13:47
modx.pro
2
2 375
0

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

Владимир Бабусенко
06 декабря 2016, 19:16
0
Такое происходит только при $miniShop2->order->add('payment', 1); При оплате 3 и 4 (это онлайн) все нормально
    Владимир Бабусенко
    08 декабря 2016, 10:41
    0
    Разобрался с этим. Изучив класс ms2 офрмления заказа метод submit. Там идет редирект на этот же ресурс с гет параметром номером заказа. Происходило зацикливание оформления заказа...))
      gruzoveek
      27 апреля 2018, 07:47
      0
      и как это победили?
        Владимир Бабусенко
        27 апреля 2018, 12:14
        +1
        В смысле? а что тут побеждать?
        $action = (isset($_POST['submit']))? $_POST['submit'] : '';
        switch($action) {
        	case "createOrder":
        		//создаем заказ
        		break;
        }
        
        if(!empty($_GET['msorder'])){
        	//Заказ сформирован, делаем что надо	
        	$order = $modx->getObject('msOrder',array(
        		'id' => $_GET['msorder'],
        	));
        }
          Alex
          23 ноября 2018, 05:16
          0
          Владимир, подскажите пожалуйста немного подробнее как у вас это работает? Сам код не отработал не из снипета, ни из плагина(заказ создан не был). Где вы вызываете код и при какой ситуации/событии? Буду очень признателен! Спасибо!
            Владимир Бабусенко
            23 ноября 2018, 10:02
            0
            Это обработчик формы, сниппет. Тут я привел минимальный код, для создания заказа, в реальности он конечно намного больше. Почему у вас не создается заказ, сказать не могу, слишком мало инфы. Если просто скопировали код, и не поправили для своих нужд, то может не работать по причинам:
            $miniShop2->order->add('user_id', 3); есть пользователь с таким id=3?
            $miniShop2->cart->add(164,1); есть товар с id = 164?
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        6