Подскажите такой момент, может кто сталкивался. Штатные модули оплаты(например cod) и доставки+ модуль simple быстрая регистрация и заказ.
Некоторые заказы получают order_status_id 0
Такую болячку встречаю на opencart 2.х-3.х и на ocstore 2.х-3.х
Покопавшись в коде с неделю, выпив не одну бутылку водки чашку кофе, общее направление выяснил. Что order_status_id формируют модули оплаты, а дальше во всех модулях практически одинаково. Большая часть заказов приходят с order_status_id = 1, небольшая часть с order_status_id = 0
Код: Выделить всё
<?php
class ControllerExtensionPaymentCod extends Controller {
public function index() {
return $this->load->view('extension/payment/cod');
}
public function confirm() {
$json = array();
if (isset($this->session->data['payment_method']['code']) && $this->session->data['payment_method']['code'] == 'cod') {
$this->load->model('checkout/order');
$this->model_checkout_order->addOrderHistory($this->session->data['order_id'], $this->config->get('payment_cod_order_status_id'));
$json['redirect'] = $this->url->link('checkout/success');
}
$this->response->addHeader('Content-Type: application/json');
$this->response->setOutput(json_encode($json));
}
}
В телеграмм канале подсказали
код тянется с настроек модуля оплаты
Код: Выделить всё
$this->config->get('payment_cod_order_status_id')
От сюда у меня предположения по поводу данной проблемы:
1)Либо по каким то, неведомым причинам, не получает значение payment_cod_order_status_id из настроек модуля.
2)Либо по каким то, неведомым причинам, не отрабатывает $this->model_checkout_order->addOrderHistory().
Помогите решить данную проблему