Magento 2 如何更改默认的订单增量ID

有一个事实是,许多商店所有者希望更改用于Order,Invoice和Shipment的增量ID的默认格式。有多种原因需要自定义增量ID。首先,更复杂的ID字符串可以为店主包含更多有用的信息,但对竞争对手和客户而言则变得更难理解。

此外,由于敏感数字是隐藏的,因此业务数据(例如订单数)对于竞争对手来说是不完整的,因此可以得到安全保护。此外,规则的数字字符串可以吸引并打动客户,使您知道您的企业受欢迎且专业。

1.如何自定义增量ID,在Magento 2 Default中添加前缀和后缀?

可以通过使用代码和命令直接手动更改数据库来实现此ID修改。让我们仔细研究如下:第一步是打开PHP Admin数据库。然后,您将找到表“ sale_sequence_profile”并检查数据。这里主要值包括:profile_id meta_idprefixsuffixstart_valuestep

订单ID的格式默认定义为下图

如果您不想编辑模块核心,可以通过creating etc/di.xml以下方式进行更改:

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <type name="Magento\Framework\DB\Sequence\SequenceInterface">
        <arguments>
            <argument name="pattern" xsi:type="string">%s%'.06d%s</argument>
        </arguments>
    </type>
</config>

整个过程可以表示为以下数学公式:

在Magento Default中,

  • Sequence_value从1开始,并在下一个订单/发票/装运中增加1。
  • START_VALUE步骤都设置1
  • 前缀后缀未设置为可用(NULL)
初始订单增量ID

如果将这些值放到上面的公式中,则初始订单增量ID将为: 

如您所见,Increment_id随内部的各种属性而变化,例如prefix,sequence_value,start_value,step,X digits,后缀。要更改这些特定属性,应添加相关命令。

这里有些例子:

如何更改订单前缀?

在数据库上添加以下命令: UPDATE sales_sequence_profile SET prefix = X WHERE meta_id = 5;

将X替换为所需的前缀(例如:ORD),然后运行查询。如果您希望禁用前缀,请删除引号并设置X = NULL

如何更改后缀顺序?

在数据库上添加以下命令:

UPDATE sales_sequence_profile SET suffix= X WHERE meta_id = 5;

将X替换为所需的后缀,然后运行查询。如果您希望禁用后缀,请删除引号并设置X = NULL

如何更改连续订单的步骤?

在数据库上添加以下命令:

UPDATE sales_sequence_profile SET step = X WHERE meta_id = 5;

将X替换为所需的步骤数,然后运行查询

order_number = prefix + ((sequence_value – start_value) * step + start_value) {padded to X digits} + suffix

进行各种更改后的示例:

更改包括:

step = ‘5’’ , prefix = ‘ORD-’ , suffix = ‘-S1’,  start_value = ‘1’ , DEFAULT_PATTERN = “%s%’.03d%s”. And last sequence_value = 2 => next sequence_value = 3

=>新的增量ID = ORD +(3-1)* 5 + 1 {填充为3位数字} + S1

因此,修改后的订单增量ID为ORD-011-S1

相关文章

0 0 投票数
文章评分
订阅评论
提醒
0 评论
最旧
最新 最多投票
内联反馈
查看所有评论