我是magento的新手,据我所知,订单状态被标记为“待定”,“处理”和“已完成”。当客户结账时,状态变为“待定”,并且发票或发货使状态“处理”,并且当两者都完成时,状态变为“完成”。如果我错了,请纠正我。
所以,我想介绍新的状态但不是状态,我确实设法在处于上述某个状态时引入新状态,或者我可以更改现有的标签状态,但我想了解magento如何管理状态以及如何修改状态/添加新状态。如果需要,我可以修改核心代码。
所以,我的问题是如何引入新状态(不是状态)或如何更改/修改订单生命周期?
如果您告诉我代码的哪些部分正在管理订单生命周期,我可以调查源代码。任何帮助或线索都表示赞赏。
PS:我现在正在使用v1.5.1.0。
答案 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