Голову сегодня сломал над этими Статусами заказов. Вроде разобрался, но чую завтра опять забуду. @Romans, можно хелп расширить для тройки по поводу этих статусов, я буду менеджерам ссылку давать.
уважаемые участники подскажите пожалуйста пробовал в public_html\admin\model\sale\order.php добавить код. админка на 0 ложится opencart pro 2.3 куда именно вставить код?
все понял! из-за своей некомпетентности в познании кода. и необходимости решить задачу. сделал так в catalog\model\checkout\order.php заменил // If old order status is the processing or complete status but new status is not then commence restock, and remove coupon, voucher and reward history if ($order_info['order_status_id'] == $this->status && in_array($order_status_id, $this->config->get('config_complete_status')) && empty($is_admin)) { на // If old order status is the processing or complete status but new status is not then commence restock, and remove coupon, voucher and reward history if (in_array($order_info['order_status_id'], array_merge($this->config->get('config_processing_status'), $this->config->get('config_complete_status'))) && !in_array($order_status_id, array_merge($this->config->get('config_processing_status'), $this->config->get('config_complete_status')))) { но нормальная логика не до конца вернулась. при смене к примеру на отказ, идет + на остаток и не важно менять на возврат или отказ норм. если сделать на статус в обработке(в работе) обратно не минусует. но при возврат/отказ все равно заново плюсует...
Две линии в начали строки //, означают что данный код скажем так отключен (закоментирован). То есть вы изменили то, что не работало на то что не должно работать и пишите, что стало по другому.... Если не изменяет память, то на уровне кода ничего менять не нужно. Всё "крутится" вокруг настроек статусов заказов, в разделе Система - Настройки.
МОЖЕТ кому пригодится... // относится к строке с комментарием If old order status.... не знаю, статусы правильно выставлены. опенкарт про откуда и какая сборка не заню, может модули или модификаторы нашаманили. главное сделал так и все работает как и должно. код ниже. catalog\model\checkout\order.php if ($order_info['order_status_id'] == $this->status && in_array($order_status_id, $this->config->get('config_complete_status')) && empty($is_admin)) { заменить на if (in_array($order_info['order_status_id'], array_merge($this->config->get('config_processing_status'), $this->config->get('config_complete_status'))) && !in_array($order_status_id, array_merge($this->config->get('config_processing_status'), $this->config->get('config_complete_status')))) { а if ((in_array($order_info['order_status_id'], $this->config->get('config_complete_status')) && $order_status_id == $this->status) || empty($order_info['order_status_id']) && empty($is_admin)) { заменить на if (!in_array($order_info['order_status_id'], array_merge($this->config->get('config_processing_status'), $this->config->get('config_complete_status'))) && in_array($order_status_id, array_merge($this->config->get('config_processing_status'), $this->config->get('config_complete_status')))) {