Magento的订单状态与状态
我有一个有趣的时间搞清楚订单的“状态”,对应的是在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>
...我用的是建于“涉嫌造假”状态所有这一切。问题是,“涉嫌诈骗”的地位是国家“付款审查”下分组,并且如果订单被标记为“涉嫌欺诈”或“付款审查”,管理员不允许任何其他状态的选择,除了那些2.理想情况下,'可以运送'选项将可用,但归入'处理'的'状态'。 在这里,我有“OK船舶”的“payment_review”状态下,它提供的选项,但后来当我拉下来的订单,并检查canShip() - 它失败,因为它是一个“付款审查”状态的状态。
所以,如果有人能帮助我理解状态/状态都打算如何在Magento以及如何最好地配置这种情况下工作,我将不胜感激。
我的理解是,对于一个给定的状态(这是通过正常秩序流量决定的,而不是真正的可变的),你有自由支配更改订单状态(这是一个标签)。取决于你想完成什么,你可以尝试克隆<okay_to_ship />
到你想要他们的另一个状态吗?它们看起来并不是独一无二的。
谢谢, 乔
只是想指出的是,由于Magento的允许编辑状态从管理接口(1.5版本我相信),XML状态配置变得过时。现在唯一的相关配置是在sales_order_status和sales_order_status状态表内。
如果要添加新的只需编辑表槽phpMyAdmin的(你也可以做到这一点programmaticaly槽安装脚本http://www.techytalk.info/programmatically-add-new-order-state-and-status-in-magento/)
是啊,我也尝试 - 我把“ok_to_ship”既有“加工”下和“payment_review”状态,并允许我在订单处于“欺诈”状态/状态时选择并更新它。问题是,从'欺诈'改为'ok_to_ship'仍将其归入'payment_review'状态,再次使得canShip()检查失败。有没有办法将状态绑定到状态?并且在另一个被设置为其他状态的时候仍然是一个选项? – 2010-11-15 23:11:16
对最后一行的更正:“... *订单设置为其他状态?” – 2010-11-15 23:33:36
基本上,比状态更重要的是,您希望从付款审核=>处理中更改订单状态。我并没有对此感到困惑,而是寻求这两者之间的状态转换,然后在处理过程中保持“可以运送”。至于流程,使用2个步骤从欺诈 - >处理 - >好的到发运,并保存一些复杂性。 – 2010-11-17 15:23:47