Magento订单状态与状态

时间:2010-11-13 02:29:47

标签: php magento status

我很乐意在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中工作以及如何最好地配置这种情况,我将不胜感激。

2 个答案:

答案 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 />克隆到您想要的其他状态?它们似乎并不是唯一的。

谢谢, 乔