我在CMS自定义订单状态中创建了"发送到批准"我想在mypaymentmodule中创建的订单中设置此状态。我可以在CMS中看到ID但是如何在模块中获取此ID?
$mypaymentmodule->validateOrder($id_cart, [ID OF STATUS] , $total, $mypaymentmodule->displayName);
$order = new Order(intval($mypaymentmodule->currentOrder));
答案 0 :(得分:2)
如果您从后台手动创建了状态,它只存储在order_state
表中,以获取您可以使用的模块中的所有状态:
$order_states = OrderState::getOrderStates($this->context->language->id);
foreach ($order_states as $state) {
if($state['name'] == 'Send to approval')
$status_id = $state['id_order_state'];
}
echo $status_id;
但这样做并不是一个好主意,最好以编程方式创建订单状态并存储它,例如在配置中,然后只使用Configuration::get('CUSTOM_STATE_NAME')