admin-sales-orders > 修改模型文件的订单状态代码在哪里?

Where is the admin-sales-orders > modify Order Status code of model file?

我正在尝试从管理仪表板中找到更新订单状态的模型文件功能。我检查了 /admin/model/sale/order.php 文件的所有功能,但没有用。任何帮助,将不胜感激。我的店铺opencart版本是2.3.0.2

它在您的 admin/model/localisation/order_status.php 管理员文件中。如果您不确定正在使用什么模型,您也可以简单地查看控制器文件,因为它会为正在使用的任何数据加载适当的模型。在这种情况下,order.php 的控制器文件使用:

$this->load->model('localisation/order_status');

这就是你知道的(只是在控制器文件中简单地部分搜索 "status" 帮助我找到它 - 仅供参考)。

希望对你有帮助。

在 OC 2.3 中,管理订单信息屏幕(这是您通常执行状态更新的地方)对前端 api 方法 history() 进行 ajax 调用catalog/controller/api/order.php 当你改变状态时。

这又会在catalog/model/checkout/order.php中调用addOrderHistory()来更新状态。如果您想修改逻辑,您可以根据需要在任何一个地方进行。

这里的重点是,在此版本中,大部分与订单相关的管理功能都是通过前端 api 来修改订单的。从 OC 版本 2.0 开始就是这种情况,并且在 Opencart 3 中仍然如此。

在 opencart 中,当更新订单时,它使用 catalog/api/order.php 来处理订单。所以要编辑订单,这个控制器将使用 catalog/model/checkout/order.php.

现在,当您搜索更改 order_status 时,您会在 addOrderHistory() 函数 & $this->db->query("UPDATE" . DB_PREFIX . "orderSET order_status_id = '" . (int)$order_status_id . "', date_modified = NOW() WHERE order_id = '" . (int)$order_id . "'");

希望对您有所帮助。