PrestaShop - 更改订单状态
PrestaShop - changing order status
我目前正在为 PrestaShop 开发支付模块,我正在与状态作斗争。 id 为 3 的状态是 'Processing in progress',看来我必须这样硬编码它:
$order = new Order($orderId);
$order->setCurrentState(3);
问题是...这些 ID 可以不同吗?就像在不同的 prestashop 安装中或经过很少的重新配置后,id 为 3 的状态可能完全不同。有谁知道 prestashop 中是否定义了任何常量,我可以通过它获取 'Processing in progress' 状态的 ID?
干杯!
Processing in progress
是默认的订单状态,它的 ID 不会改变,除非你直接在数据库中改变它,我不知道你为什么要那样做。
但是,您可以检索配置值 PS_OS_PREPARATION
而不是硬编码数字来获取该订单状态 ID。
$order = new Order($orderId);
$order->setCurrentState((int)Configuration::get('PS_OS_PREPARATION'));
您可以在配置中找到其他默认订单状态 ID,方法是查看 configuration
table 并找到具有 name
列且具有 PS_OS_
前缀的行。
我目前正在为 PrestaShop 开发支付模块,我正在与状态作斗争。 id 为 3 的状态是 'Processing in progress',看来我必须这样硬编码它:
$order = new Order($orderId);
$order->setCurrentState(3);
问题是...这些 ID 可以不同吗?就像在不同的 prestashop 安装中或经过很少的重新配置后,id 为 3 的状态可能完全不同。有谁知道 prestashop 中是否定义了任何常量,我可以通过它获取 'Processing in progress' 状态的 ID?
干杯!
Processing in progress
是默认的订单状态,它的 ID 不会改变,除非你直接在数据库中改变它,我不知道你为什么要那样做。
但是,您可以检索配置值 PS_OS_PREPARATION
而不是硬编码数字来获取该订单状态 ID。
$order = new Order($orderId);
$order->setCurrentState((int)Configuration::get('PS_OS_PREPARATION'));
您可以在配置中找到其他默认订单状态 ID,方法是查看 configuration
table 并找到具有 name
列且具有 PS_OS_
前缀的行。