在Magento中弄清楚订单的“状态”和“状态”之间的区别是一件很有趣的事情。
我们有一个自定义流程设置发送订单到第三方履行,我们也有一些自定义逻辑,以检查潜在的欺诈订单,并将其标记为手动批准出货的管理员用户去履行。
我在模块配置中添加了'Pending Ship‘状态和'OK to Ship’状态,如下所示:
<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>...and我使用内置的‘可疑欺诈’状态来处理所有这些问题。问题是,“可疑欺诈”状态是在“付款审查”状态下分组的,如果订单标记为“可疑欺诈”或“付款审查”,管理员不允许您选择除这2个状态之外的任何其他状态。理想情况下,“可以发货”选项将可用,但分组在“正在处理”的“状态”下。在这里,我在'payment_review‘状态下有'OK To Ship’,它使选项可用,但是当我下拉一个订单并检查canShip()时--它失败了,因为它是‘支付审查’状态。
因此,如果有人能帮助我理解状态/状态是如何在Magento中工作的,以及如何最好地配置这种情况,我将不胜感激。
发布于 2013-11-08 14:48:01
我只想指出,自从Magento允许从管理界面(我相信是1.5版)编辑状态以来,XML状态配置已被弃用。现在,唯一相关的配置是在sales_order_status和sales_order_status状态表中。
如果你想添加新的表格,只需通过phpmyadmin编辑表格(你也可以通过安装脚本http://www.techytalk.info/programmatically-add-new-order-state-and-status-in-magento/编程来完成)
发布于 2010-11-14 03:02:23
我的理解是,对于给定的状态(由正常的订单流确定,并且不是真正可变的),您可以自由地更改订单的状态(这是一个标签)。根据您想要完成的任务,您是否可以尝试将<okay_to_ship />克隆到您希望它们处于的其他状态?它们似乎并不是排他性的。
谢谢,乔
https://stackoverflow.com/questions/4170628
复制相似问题