Prestashop-验证付款后更改订单状态

莉莉·贝尔贡扎特(Lily Bergonzat)

验证付款后,订单状态将变为“付款已验证”(法语为“ Paiementaccepté”)。验证付款后,我想设置其他状态,因此历史记录将显示以下内容:

Current status : My personnal status
History :
My personnal status
Payment validated

为此,我使用了钩子actionOrderStatusPostUpdate。这是我的代码:

public function hookActionOrderStatusPostUpdate($aParams) {
    $oOrder = new Order($aParams['id_order']);

    if($aParams['newOrderStatus']->id == Configuration::get('PS_OS_PAYMENT')) {
        $oOrder->setCurrentState(Configuration::get('XXXXXX_STATUS_WAITING'));
        $oOrder->save();
    }
}

配置值已正确定义。该代码有效,因为我看到状态已更改。但问题是在更改为“付款验证”之前,它已更改。我不明白为什么。历史看起来像这样:

Current status : Payment validated
History :
Payment validated
My personnal status

如何使我的个人身份显示为最后身份?

迈克尔·萨利希|

hookActionOrderStatusPostUpdate挂钩调用由changeIdOrderState进行,但添加到order_history表是在changeIdOrderState调用之后进行的,例如https://github.com/PrestaShop/PrestaShop/blob/1.6.1.x/controllers/admin/AdminOrdersController.php# L521-L542

您宁可将模块绑定在经典的钩子上,例如hookActionObjectOrderHistoryAddAfter https://github.com/PrestaShop/PrestaShop/blob/1.6.1.x/classes/ObjectModel.php#L535-L537

public function hookActionObjectOrderHistoryAddAfter($params) {
$orderHistory = $params['object'];

if($orderHistory->id_order_state == Configuration::get('PS_OS_PAYMENT')) {
    $oOrder->setCurrentState(Configuration::get('XXXXXX_STATUS_WAITING'));
    $oOrder->save();
}

最好的祝福

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在验证订单中使用 php 更改 Prestashop 订单状态

来自分类Dev

如何在Prestashop中更改订单确认电子邮件模板的内容?

来自分类Dev

Prestashop Paypal付款错误

来自分类Dev

Prestashop付款模块覆盖

来自分类Dev

Woocommerce:付款完成后更改订单ID

来自分类Dev

prestashop api 1.6 webservice更新订单状态

来自分类Dev

更改 prestashop 滑块动画

来自分类Dev

Prestashop付款步骤模板

来自分类Dev

使用PrestaShop的API创建订单

来自分类Dev

使用PrestaShop的API创建订单

来自分类Dev

Prestashop订单-空白运输页面

来自分类Dev

验证时Prestashop更改描述错误

来自分类Dev

订单验证后如何防止PrestaShop更新产品数量

来自分类Dev

Prestashop订单状态问题和购物车

来自分类Dev

WooCommerce更改订单状态BACS处理

来自分类Dev

如果付款方式是 prestashop 中的货到付款,则无法编辑订单

来自分类Dev

PrestaShop付款模块归类为“其他”

来自分类Dev

Prestashop 上未显示付款插件

来自分类Dev

prestashop 1.4中的订单通知邮件

来自分类Dev

如何在Prestashop中创建订单?

来自分类Dev

在Prestashop Web服务中获取客户订单

来自分类Dev

如何在Prestashop中创建订单?

来自分类Dev

Prestashop订单结帐送货国家/地区ID

来自分类Dev

在Prestashop Web服务中获取客户订单

来自分类Dev

如何获取prestashop订单的参考名称?

来自分类Dev

以编程方式在prestashop中创建订单

来自分类Dev

Prestashop 1.7无法保存订单地址

来自分类Dev

PrestaShop:无法使用 Web 服务创建订单

来自分类Dev

库文件的Prestashop验证程序问题