在magento 2后端,当我提交发货时,订单状态将从处理更改为完成,但我找不到代码执行位置谁能告诉我在哪里能找到密码?我使用的是洋红色2.4.3-p1我发现代码在“vendor/magento/module-sales/Model/Order/Shipment.php”当执行这个方法“_saveShipment”的状态会改变,但我不知道为什么.
2skhul331#
它位于\Magento\Sales\Model\ResourceModel\Order\Handler\State中,每当保存订单时都会调用该文件。
mnemlml82#
在“Magento\Sales\Model\ResourceModel\Order”中有一个函数保存()。在该函数中,您可以检索和修改订单的“status”值。最好编写一个插件。di.xml
<type name="Magento\Sales\Model\ResourceModel\Order"> <plugin name="after_plugin_order_state" type="Vendor\Module\Plugin\PluginName"/> </type>
PluginName.php
public function afterSave( \Magento\Sales\Model\ResourceModel\Order $subject, $result,$object ){ $setCustomStatus = $object->setData('status','Complete'); return $result }
2条答案
按热度按时间2skhul331#
它位于\Magento\Sales\Model\ResourceModel\Order\Handler\State中,每当保存订单时都会调用该文件。
mnemlml82#
在“Magento\Sales\Model\ResourceModel\Order”中有一个函数保存()。在该函数中,您可以检索和修改订单的“status”值。最好编写一个插件。
di.xml
PluginName.php