gpt4 book ai didi

php - 如何在 Magento 中使用扩展/模块创建自定义订单状态

转载 作者:行者123 更新时间:2023-12-02 07:42:41 25 4
gpt4 key购买 nike

我想知道是否有任何方法可以在 Magento 中创建自定义订单状态。我正在开发一个 Magento 扩展,我必须在其中向磁电机订单添加一些自定义订单状态。

我用谷歌搜索了很多,但没有找到任何好的资源。

任何人都可以解释如何做到这一点,任何引用资源。

最佳答案

假设您想添加带有“授权”代码的“授权付款”状态。

将以下内容添加到 config/global 下模块的 config.xml 中:

    <sales>
<order>
<statuses>
<authorized translate="label">
<label>Authorized Payment</label>
</authorized>
</statuses>
<states>
<authorized translate="label">
<label>Authorized Payment</label>
<statuses>
<authorized default="1"/>
</statuses>
<visible_on_front>1</visible_on_front>
</authorized>
</states>
</order>
</sales>

早期它已经足够了,但在最近的版本中(如果我没记错的话是 1.5.x.x)还需要以下位。将以下内容添加到您的扩展的 mysql 设置/更新文件中:

<?php

$installer = $this;

$statusTable = $installer->getTable('sales/order_status');
$statusStateTable = $installer->getTable('sales/order_status_state');
$statusLabelTable = $installer->getTable('sales/order_status_label');

$data = array(
array('status' => 'authorized', 'label' => 'Authorized Payment')
);
$installer->getConnection()->insertArray($statusTable, array('status', 'label'), $data);

$data = array(
array('status' => 'authorized', 'state' => 'authorized', 'is_default' => 1)
);
$installer->getConnection()->insertArray($statusStateTable, array('status', 'state', 'is_default'), $data);

?>

这在技术上为您的系统添加了新的状态。现在您可以像这样将其设置为您的订单:

$order->setState('authorized', true, 'Status history message')
->save();

如果您有任何问题,请告诉我。

关于php - 如何在 Magento 中使用扩展/模块创建自定义订单状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9372479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com