Владимир

Владимир

С нами с 16 июня 2019; Место в рейтинге пользователей: #2687
Владимир
18 июня 2019, 18:57
0
Проблема решилась обновлением minishop до версии 2-2.4.18.
Владимир
17 июня 2019, 21:51
0
Дата, номер заказа абсолютно идентичные прилетают.
Владимир
17 июня 2019, 21:50
0
Помоему дело не в плагине, нашел я вот сторонний плагин modstore.pro/packages/import-and-export/frontpadapi, история та же в frontpad приходит сразу 2 одинаковых заказа. Что еще может влиять на повторную отправку?

Ну не может быть что и плагин другого разработчика быть с такой же бедой что и самописанный?
Владимир
17 июня 2019, 17:42
0
Так, ну с тем что выделить в отдельный плагин, я доки почитаю, сделаю. Я не могу понять почему дублируется отправление.
Владимир
17 июня 2019, 17:20
0
Не пинайте сильно, первый раз можно сказать имею дело с Modx.

Вот я набросал вариант с использованием события:

case 'msOnCreateOrder':

     $msAddress = $msOrder->getOne('Address');
     $msReceiver = $msAddress->get('receiver');
     $msRoom = $msAddress->get('room');
     $msBuilding = $msAddress->get('building');
     $msComment = $msAddress->get('comment');
     $msPhone = $msAddress->get('phone');

     $post_url = "https://app.frontpad.ru/api/index.php?new_order";
     $param['secret'] = "";
     $gorod = 'Город';
     $param['street'] = $gorod.', '.$msAddress;
     $param['home'] = 'дом '.$msBuilding ;
     $param['apart']	= 'кв '.$msRoom;
     $param['phone'] = $msPhone;
     $param['descr']	= $msComment;
     $param['descr'] .= ' Оплата наличными. ';
     $param['pay'] = 1;
     $param['name'] = $msReceiver;

     foreach ($param as $key => $value) {
        $data .= "&".$key."=".$value;
     }

     foreach ($msOrder->getMany('Products') as $product) {
         $options = $modx->getObject('msProductData', $product->get('product_id'));
         $data .= "&product[]=". $options->get('article')."";
         $data .= "&product_kol[]=".$product->get('count')."";
     }

     $ch = curl_init();
       curl_setopt($ch, CURLOPT_URL, $post_url);
       curl_setopt($ch, CURLOPT_FAILONERROR, 1);
       curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
       curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
       curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
       curl_setopt($ch, CURLOPT_TIMEOUT, 30);
       curl_setopt($ch, CURLOPT_POST, 1);
       curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
       $result = curl_exec($ch);
       curl_close($ch);

break;
Вставил я его в плагин miniShop2 после события case 'msOnChangeOrderStatus' ну и на выходе имею 2 дубля заказа, уже не 3 )))