После повторения заказа создает пустой новый заказ



  • Привет всем.
    Купил дополнение UserOrders (История заказов).
    Дополнил его функционалом повторения заказа.

    $modx->addPackage('shopkeeper3', $modx->getOption('core_path').'components/shopkeeper3/model/');
    $order = $modx->getObject('shk_order',array('id'=>$order_id, 'userid' => $user_id));
    	if($order){
    	             
    		$new_order = $modx->newObject('shk_order');
    		$new_order->fromArray($order->toArray());
    		$new_order->set('status',1);
    		$new_order->set('date',strftime('%Y-%m-%d %H:%M:%S'));
    		$new_order->save();
    	             
    	}
    

    Новый заказ создается. Сумма дублированного верная, только в составе заказа пусто.
    краткий вид

    краткий вид
    Подскажите куда копать?


  • Администраторы

    Скопировать заказ мало, надо ещё скопировать товары, которые хранятся в отдельной таблице.

    $purchase = $modx->newObject('shk_purchases');
    $purchase->fromArray( $insert_data );
    $purchase->save();
    

    Плюс у вас по коду, если заказ отменен или выполнен, то новый тоже будет такого же статуса.



  • Вот спасибо. Направил на путь истинный.
    Еще добавлю, что $insert_data это вот такой массив:

    $insert_data = array(
    	'p_id' => $p_data['id'],
    	'order_id' => $order->id,
    	'name' => $p_data['name'],
    	'price' => $p_data['price'],
    	'count' => $p_data['count'],
    	'class_name' => $p_data['className'],
    	'package_name' => $p_data['packageName'],
    	'data' => $fields_data_str,
    	'options' => $options
    );
    


Похоже, подключение к Форум | MODX Shopkeeper было разорвано, подождите, пока мы пытаемся восстановить соединение.