如何更改Magento的订单生命周期?

时间:2011-06-20 18:12:26

标签: magento

我是magento的新手,据我所知,订单状态被标记为“待定”,“处理”和“已完成”。当客户结账时,状态变为“待定”,并且发票或发货使状态“处理”,并且当两者都完成时,状态变为“完成”。如果我错了,请纠正我。

所以,我想介绍新的状态但不是状态,我确实设法在处于上述某个状态时引入新状态,或者我可以更改现有的标签状态,但我想了解magento如何管理状态以及如何修改状态/添加新状态。如果需要,我可以修改核心代码。

所以,我的问题是如何引入新状态(不是状态)或如何更改/修改订单生命周期?

如果您告诉我代码的哪些部分正在管理订单生命周期,我可以调查源代码。任何帮助或线索都表示赞赏。

PS:我现在正在使用v1.5.1.0。

1 个答案:

答案 0 :(得分:2)

所以在你的config.xml中你会有类似......

的东西
<config>
    <global>
        <sales>
            <order>
                <states>
                    <my_state translate="label">
                        <label>My State</label>
                        <statuses>
                            <pending default="1"/>
                        </statuses>
                        <visible_on_front/>
                    </my_state>
                </states>
            </order>
        </sales>
    </global>
</config>

然后,只要你想要改变状态,你就可以覆盖核心或者添加一个观察者来改变状态(请不要直接编辑核心!),例如(假设{{1}已经加载并准备就绪的有效订单)....

$order

将执行状态的默认状态。如果你想设置一个状态,那就把它放在第二个参数中......

$order->setState("my_state");
$order->save();

HTH