Как скопировать существующий заказ (core, php) с помощью Prestashop 1.6.x в FrontPage из учетной записи клиента - Мои заказы? - PullRequest
0 голосов
/ 15 мая 2019

Если я использую функцию в классах \ duplicateOrder, найденную в предыдущем ответе, каждый раз, когда я обновляю историю заказов на странице, все заказы из моего счета-> заказы дублируются, функция, похоже, в порядке, так что в чем проблема??

public function duplicateOrder($id_order)
{
    $order = new Order($id_order);

    $duplicatedOrder = $order->duplicateObject();

    $orderDetailList = $order->getOrderDetailList();
    foreach ($orderDetailList as $detail) {
        $orderDetail = new orderDetail($detail['id_order_detail']);
        $duplicatedOrderDetail = $orderDetail->duplicateObject();
        $duplicatedOrderDetail->id_order = $duplicatedOrder->id;
        $duplicatedOrderDetail->save();
    }

    $orderHistoryList = $order->getHistory(Configuration::get('PS_LANG_DEFAULT'));
    foreach ($orderHistoryList as $history) {
        $orderHistory = new OrderHistory($history['id_order']);
        $duplicatedOrderHistory = $orderHistory->duplicateObject();
        $duplicatedOrderHistory->id_order = $duplicatedOrder->id;
        //$duplicatedOrderHistory->save();
    }          
}

Ответы [ 2 ]

0 голосов
/ 16 мая 2019

в history.tpl Я вставил следующую опцию li после кнопки «Изменить порядок»;всякий раз, когда я нажимаю кнопку обновления (F5), заказы умножаются (2, 4, 8, 16 и т. д.)


{ls = 'Duplicate Order'}

функция быласохранено в классах \ Order \ Order.php

0 голосов
/ 15 мая 2019

Где ваш звонок? Я думаю, что вы называете это в foreach, который перечисляет команды.

Привет

...