Magento订单状态与状态

Chr*_*tte 10 php status magento

我很开心在Magento中找出订单的"状态"与"状态"之间的区别.

我们有一个自定义流程设置发送订单到第三方履行,我们还有一些自定义逻辑来检查潜在的欺诈性订单,并标记它们被手动批准由管理员用户运送出去履行.

我已经在我的模块配置中添加了"待发货"状态和"确定发货"状态,如下所示:

<global>
    ...
    <sales>
        <order>
            <statuses>
                <pending_shipment translate="label"><label>Pending Shipment</label></pending_shipment>
                <ok_to_ship translate="label"><label>OK To Ship</label></ok_to_ship>
            </statuses>
            <states>
                <processing translate="label">
                    <statuses>
                        <pending_shipment />
                    </statuses>
                </processing>
                <payment_review translate="label">
                    <statuses>
                        <ok_to_ship />
                    </statuses>
                </payment_review>
            </states>
        </order>
    </sales>
    ...
</global>
Run Code Online (Sandbox Code Playgroud)

......我使用内置的"疑似欺诈"状态来解决所有这些问题.问题是"疑似欺诈"状态归入"付款审核"状态,如果订单标记为"疑似欺诈"或"付款审核",则管理员不允许您选择除此之外的任何其他状态那些2.理想情况下,'OK To Ship'选项可用,但分组在'Processing'的'state'下.在这里,我在'payment_review'状态下有'OK To Ship'并且它使选项可用,但是当我下订单并检查canShip()时 - 它失败了,因为它是'Payment Review'状态.

因此,如果有人可以帮助我了解状态/状态如何在Magento中工作以及如何最好地配置这种情况,我将不胜感激.

Jos*_*tey 1

我的理解是,对于给定的状态(由正常订单流确定,并且实际上并不可变),您可以自由地更改订单的状态(这是一个标签)。根据您想要完成的任务,您可以尝试克隆<okay_to_ship />到您希望它们处于的其他状态吗?它们似乎并不具有排他性。

谢谢,乔

  • 基本上,比状态更重要的是,您希望从“付款审核”=&gt;“处理”更改订单状态。我没有搞砸这么多,但在这两者之间寻找状态转换,然后在处理中保持“可以发货”。至于流程,使用 2 个步骤从欺诈 -&gt; 处理 -&gt; 确定发送并节省一些复杂性。 (2认同)