Prestashop 1.7.6 自定义模块-订单状态变化问题

问题描述 投票:0回答:1

我对 prestashop 1.7.6 的自定义模块有疑问。我尝试更改订单状态 - 它工作正常,但有时它不会触发 hookActionOrderStatusPostUpdate

这是我更改订单状态的循环。

        foreach ($ordersIds as $orderId) {
            $order = new Order($orderId);
            if($order->current_state != $newStatusId) { 
                $history = new OrderHistory();      
                $history->id_order = (int)$order->id;
                $history->changeIdOrderState($newStatusId, $order);
                $history->addWithemail(true);
                $history->save();
            }
        }

有时会出现订单状态正确更改,但未触发hookActionOrderStatusPostUpdate的问题。

php prestashop prestashop-1.7 prestashop-modules
1个回答
0
投票

我认为你使用了错误的钩子。

actionOrderStatusPostUpdate
钩子在
new OrderStatus()
保存到数据库之前被触发。您应该使用
actionOrderHistoryAddAfter
钩子来代替。

有关挂钩的更多详细信息,请参阅 Prestashop 开发人员文档: https://devdocs.prestashop-project.org/1.7/modules/concepts/hooks/list-of-hooks/

© www.soinside.com 2019 - 2024. All rights reserved.