我很乐意在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'状态。 / p>
因此,如果有人能帮助我了解状态/状态如何在Magento中工作以及如何最好地配置这种情况,我将不胜感激。
答案 0 :(得分:3)
只是要指出,由于Magento允许从管理界面编辑状态(我相信1.5版本),因此XML状态配置已被弃用。现在唯一相关的配置是在sales_order_status和sales_order_status状态表中。
如果你想添加新的,只需通过phpmyadmin编辑表格(你也可以通过安装程序脚本http://www.techytalk.info/programmatically-add-new-order-state-and-status-in-magento/编程)
答案 1 :(得分:1)
我的理解是,对于给定的状态(由正常的订单流确定,并且实际上不可变),您可以自由地改变订单的状态(这是一个标签)。根据您想要完成的任务,您是否可以尝试将<okay_to_ship />
克隆到您想要的其他状态?它们似乎并不是唯一的。
谢谢, 乔