在 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>
...而且我使用内置的“可疑欺诈”状态来解决所有这些问题。问题是“可疑欺诈”状态被分组在“付款审查”状态下,如果订单被标记为“可疑欺诈”或“付款审查”,管理员不允许您选择除此之外的任何其他状态那些 2. 理想情况下,“OK To Ship”选项将可用,但在“Processing”的“state”下分组。在这里,我在“payment_review”状态下有“OK To Ship”,它使该选项可用,但是当我拉下订单并检查 canShip() 时,它失败了,因为它是“Payment Review”状态。
因此,如果有人可以帮助我了解状态/状态如何在 Magento 中工作以及如何最好地配置这种情况,我将不胜感激。