PrestaShop-更改订单状态

时间:2019-01-14 17:01:31

标签: php prestashop

我目前正在为PrestaShop开发支付模块,并且正在努力解决各种问题。 ID为3的状态为“正在处理”,看来我必须像这样硬编码:

$order = new Order($orderId);
$order->setCurrentState(3);

问题是...这些ID可以不同吗?就像在不同的prestashop安装中,或在经过很少重新配置后,ID 3的状态可以完全不同。有人知道在prestashop中是否定义了任何常量,通过该常量我可以获取“正在处理”状态的ID?

干杯!

1 个答案:

答案 0 :(得分:2)

Processing in progress是默认的订单状态,其ID不会更改,除非直接在数据库中更改它(我不知道为什么会这么做)。

但是,您可以检索配置值PS_OS_PREPARATION而不是对数字进行硬编码以获得该订单状态ID。

$order = new Order($orderId);
$order->setCurrentState((int)Configuration::get('PS_OS_PREPARATION'));

通过查看configuration表并找到带有name前缀的带有PS_OS_列的行,可以在配置中找到其他默认订单状态ID。