微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Opencart 缺少订单:$this->model_checkout_order->addOrderHistory(...) 未执行

如何解决Opencart 缺少订单:$this->model_checkout_order->addOrderHistory(...) 未执行

无法更新每个传入订单的订单状态。任何认扩展(例如 cash on delivery)和任何运行 $this->model_checkout_order->addOrderHistory(...); 的控制器都不会执行。但是,似乎仍在接收订单电子邮件的事件正在被触发。 ?

即使在管理区域,更新丢失订单的状态或任何订单也不起作用。我尝试将函数 addOrderHistory 复制到 testOrderHistory(具有完全相同的内容)并将每次调用$this->model_checkout_order->addOrderHistory(...); 更新为 $this->model_checkout_order->testOrderHistory(...);,现在似乎可以工作了。

但是我想避免仅仅为了修复它而编辑核心文件。有没有其他办法?将所有核心文件$this->model_checkout_order->addOrderHistory(...); 改为 $this->model_checkout_order->testOrderHistory(...);

也感觉不对

我还检查了服务器日志和 opencart 日志,但找不到任何相关内容

我还测试了从 testOrderHistory()addOrderHistory() 返回的字符串并继续记录它们。日志记录在 controller 的末尾工作正常,但 $this->model_checkout_order->addOrderHistory(...); 总是返回一个 bool(true) 而不是我一直试图返回的字符串。但是 $this->model_checkout_order->testOrderHistory(...); 似乎正确返回了字符串。

我被困住了,如果你们能就此给我一些启发,那就太好了。谢谢~

使用 opencart 3.0.3.7

解决方法

我做到了。 $this->model_checkout_order->addOrderHistory(...); 没有被调用,因为我添加了另一个自定义函数来侦听返回布尔值的事件 addOrderHistory/before。这反过来会停止序列。

我不知道有些控制器不能返回值,尤其是在监听事件时。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。