scriptbaker / magento2-ship-out-of-stock-items
此包的最新版本(dev-master)没有可用的许可证信息。
此Magento 2模块允许创建包含缺货物品的订单的发货。在默认的Magento中,尝试为包含缺货物品的订单创建发货将导致错误:“您请求的产品数量中并非所有产品都可用。”此模块通过调整库存数量来解决这个问题,以确保可以处理发货。
dev-master
2024-05-17 16:56 UTC
Requires
- php: ^7.1|^8.0
- magento/framework: >=103
This package is not auto-updated.
Last update: 2024-09-21 16:52:00 UTC
README
概览
为Magento 2的Scriptbaker_ShipOutOfStockItems
模块允许创建包含缺货物品的订单的发货。在默认的Magento中,尝试为包含缺货物品的订单创建发货将导致错误:“您请求的产品数量中并非所有产品都可用。”此模块通过调整库存数量来解决这个问题,以确保可以处理发货。
功能
- 允许创建缺货物品的发货。
- 自动调整库存数量以允许处理发货。
- 无缝集成到Magento的多源库存(MSI)系统。
安装
-
下载模块:下载模块包或将其克隆到
app/code/Scriptbaker/ShipOutOfStockItems
目录。 -
启用模块
bin/magento module:enable Scriptbaker_ShipOutOfStockItems
-
运行设置升级
bin/magento setup:upgrade
-
清除缓存
bin/magento cache:clean
使用
一旦安装并启用模块,它将自动调整库存数量,以允许创建缺货物品的发货。无需进行其他配置。
实现细节
模块监听两个关键事件并根据相应调整库存数量
sales_order_shipment_save_before
:- 在创建发货前调整库存数量,以确保可以无错误地处理。
sales_order_shipment_save_after
:- 在发货保存后更新库存数量,以反映准确的库存水平。
包含的文件
registration.php
:将模块注册到Magento。etc/module.xml
:声明模块及其版本。etc/events.xml
:注册sales_order_shipment_save_before
和sales_order_shipment_save_after
事件的观察者。Observer/AlwaysShipOrder.php
:包含在发货创建前调整库存数量的逻辑。Observer/UpdateStockAfterShipment.php
:包含在发货保存后更新库存数量的逻辑。
观察者逻辑
AlwaysShipOrder
AlwaysShipOrder
观察者执行以下操作
- 检索发货中的所有物品。
- 对于每个物品,检查可用的库存数量。
- 如果库存数量小于请求的发货数量,则调整库存数量以满足发货要求。
- 使用
SourceItemsSaveInterface
保存更新的库存数量。
UpdateStockAfterShipment
UpdateStockAfterShipment
观察者执行以下操作
- 检索发货中的所有物品。
- 在发货保存后更新库存数量,以反映准确的库存水平。
- 确保库存系统与由发货引起的更改保持最新。
贡献
如果您想为此模块做出贡献,请将其仓库分叉并提交包含您更改的拉取请求。所有贡献都受欢迎。
支持
如果您遇到任何问题或对模块有任何疑问,请在此仓库中打开问题或在[hello@scriptbaker.com]联系我们。
许可证
此模块为开源软件,并使用MIT许可证授权。
感谢您使用Scriptbaker_ShipOutOfStockItems
。我们希望它能帮助提高您的Magento 2体验。