Opencart 遗失订单:$this->model_checkout_order->addOrderHistory(...) 未被执行
Opencart Missing Orders: $this->model_checkout_order->addOrderHistory(...) not being executed
无法更新每个传入订单的订单状态。任何默认扩展程序(例如 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 日志,但找不到任何相关内容。
我还测试了 returning 来自 testOrderHistory()
和 addOrderHistory()
的字符串,并继续记录它们。日志记录在 controller
的末尾工作正常,但 $this->model_checkout_order->addOrderHistory(...);
总是 return 是 bool(true)
而不是我一直试图 return 的字符串。但是 $this->model_checkout_order->testOrderHistory(...);
似乎 return 字符串正确。
我被困住了,如果你们能给我一些关于这方面的信息就太好了。谢谢~
使用 opencart 3.0.3.7
我做到了。 $this->model_checkout_order->addOrderHistory(...);
没有被调用,因为我添加了另一个自定义函数来侦听 addOrderHistory/before
事件 return 是一个布尔值。这反过来会停止序列。
我不知道有些控制器不能 return 一个值,尤其是当它正在监听一个事件时。
无法更新每个传入订单的订单状态。任何默认扩展程序(例如 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 日志,但找不到任何相关内容。
我还测试了 returning 来自 testOrderHistory()
和 addOrderHistory()
的字符串,并继续记录它们。日志记录在 controller
的末尾工作正常,但 $this->model_checkout_order->addOrderHistory(...);
总是 return 是 bool(true)
而不是我一直试图 return 的字符串。但是 $this->model_checkout_order->testOrderHistory(...);
似乎 return 字符串正确。
我被困住了,如果你们能给我一些关于这方面的信息就太好了。谢谢~
使用 opencart 3.0.3.7
我做到了。 $this->model_checkout_order->addOrderHistory(...);
没有被调用,因为我添加了另一个自定义函数来侦听 addOrderHistory/before
事件 return 是一个布尔值。这反过来会停止序列。
我不知道有些控制器不能 return 一个值,尤其是当它正在监听一个事件时。