Создание заказа
Есть код, создания заказа, при выполнении выдает «ошибка сайт выполнил переадресацию слишком много раз». В БД соответственно куча созданых заказов. Куда копать, подскажите…
$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();
Комментарии: 6
Такое происходит только при $miniShop2->order->add('payment', 1); При оплате 3 и 4 (это онлайн) все нормально
Разобрался с этим. Изучив класс ms2 офрмления заказа метод submit. Там идет редирект на этот же ресурс с гет параметром номером заказа. Происходило зацикливание оформления заказа...))
и как это победили?
В смысле? а что тут побеждать?
$action = (isset($_POST['submit']))? $_POST['submit'] : '';
switch($action) {
case "createOrder":
//создаем заказ
break;
}
if(!empty($_GET['msorder'])){
//Заказ сформирован, делаем что надо
$order = $modx->getObject('msOrder',array(
'id' => $_GET['msorder'],
));
}
Владимир, подскажите пожалуйста немного подробнее как у вас это работает? Сам код не отработал не из снипета, ни из плагина(заказ создан не был). Где вы вызываете код и при какой ситуации/событии? Буду очень признателен! Спасибо!
Это обработчик формы, сниппет. Тут я привел минимальный код, для создания заказа, в реальности он конечно намного больше. Почему у вас не создается заказ, сказать не могу, слишком мало инфы. Если просто скопировали код, и не поправили для своих нужд, то может не работать по причинам:
$miniShop2->order->add('user_id', 3); есть пользователь с таким id=3?
$miniShop2->cart->add(164,1); есть товар с id = 164?
$miniShop2->order->add('user_id', 3); есть пользователь с таким id=3?
$miniShop2->cart->add(164,1); есть товар с id = 164?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.