【问题标题】:How can I change the order life cycle in Magento?如何更改 Magento 中的订单生命周期?
【发布时间】:2011-06-20 18:12:26
【问题描述】:

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

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

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

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

PS:我现在使用的是 v1.5.1.0。

【问题讨论】:

    标签: magento


    【解决方案1】:

    所以在你的 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>
    

    然后,当您希望更改状态时,您可以覆盖核心或添加观察者来更改状态(请不要直接编辑核心!)类似于(假设$order是一个已加载并准备就绪的有效订单) ....

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

    这将为状态执行默认状态。如果你想设置一个状态,把它放在第二个参数中,所以..

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

    HTH

    【讨论】:

    • 在 config.xml 中,它说这些定义已被弃用,它们正在将它们存储在数据库中。所以我改变了数据库,现在我有了其他一些状态。但问题是,订单管道仍然相同,即“结帐->发票->发货”。我的问题也是关于整合新州。你对此有什么想法吗?你能给我一条我应该看看实现的路径吗?基本上,我想添加一个按钮,假设发货后它会出现,并将状态从发货更改为已收到/已审核等。
    • 如果您只想添加一个会导致状态更改的按钮,然后让它转到带有 order entity_id 的 url 并通过 entity_id 加载订单模型并执行我上面列出的操作.. .你必须给我更多细节,因为这可能会引用很多东西......你可以添加观察者或只是创建自己的独立流程......这取决于你。
    • 例如,当我创建发票时,状态变为“处理中”。当我创建货件时,我希望它成为“已发货”。在这一步之后,我需要另一个按钮出现在那里,它将状态更改为“已安装”。目的是,我想跟踪我的设备安装程序在 magento 中的活动。当他们安装时,我会启动服务,所以应该还有另一个按钮可以将状态从“已安装”更改为“准备好”。
    • 目前,我可以使用状态来做到这一点,但是假设我需要删除一些状态而不是添加一些其他状态。那么在这种情况下使用状态不起作用。这就是为什么我想学习如何更改订单管道。感谢您的帮助。
    • 问题是我认为您所说的“订单管道”分布在各个地方。不只是一个地方它改变了一切,至少我没有意识到。因此,根据您想要摆脱的内容,您需要找到该逻辑并对其进行编辑。
    猜你喜欢
    • 2016-11-06
    • 1970-01-01
    • 2020-07-26
    • 1970-01-01
    • 1970-01-01
    • 2019-03-10
    • 2019-12-29
    • 2018-12-24
    • 2019-01-15
    相关资源
    最近更新 更多