在Magento 2中用代码的方式创建新的订单状态

所有订单都具有与订单处理工作流程中的阶段相关联的订单状态。
状态描述了工作流程中订单的位置。默认情况下,Magento商店具有一组预定义的订单状态和订单状态设置。所有可用的订单状态都可以在管理面板下找到Stores -> Settings -> Order Status。有时我们需要创建新的订单状态和状态。让我们弄清楚如何在Magento 2中以编程方式创建新的订单状态和状态。

订单状态存储在sales_order_status数据库表中,而订单状态及其与状态的绑定在sales_order_status_state表中定义。我们需要创建一个简单的设置脚本,以便添加新的订单状态和状态。

首先,我们需要创建一个新的自定义扩展,例如Atwix_OrderFlow。在以下位置创建文件:registration.phpapp/code/Atwix/OrderFlow

 

并使用以下代码在文件夹中创建配置文件:module.xmlapp/code/Atwix/OrderFlow/etc

 

安装数据类如下。例如,创建了两个类似的方法

  • addNewOrderProcessingStatus
  • addNewOrderStateAndStatus

第一种方法是将新订单状态添加到现有订单状态。第二个将创建新订单状态和新订单状态。

 

您可能已经注意到,每种方法都执行两个步骤。首先,它创建一个新的订单状态并保存它,因此它将出现在sales_order_status数据库表中。然后,它通过向sales_order_status_state数据库表添加新记录将创建的状态链接到订单状态。

订单状态没有单独的表,因此表state列中的每个唯一值sales_order_status_state都被视为单独的订单状态。

运行Setup Upgrade命令以激活模块并执行安装脚本:

 

现在您可以查看结果了Stores -> Settings -> Order Status

 

如果有不懂的地方请留言,SKY8G网站编辑者专注于研究IT源代码研究与开发。希望你下次光临,你的认可和留言是对我们最大的支持,谢谢!

上一篇: Magento开发工具

下一篇: Magento 2 创建购物车价格规则并且自动生成优惠券代码

登录 评论
avatar