Русская сборка OpenCart 4.1.0.0 - Релиз

Тема в разделе "Новости и объявления", создана пользователем Romans, 17 янв 2025.

  1. smagluk

    smagluk Пользователь

    Сообщения:
    37
    Симпатии:
    4
    Ошибка в OC 4.1.0.0. rs .
    В разделе Продажи-Заказы-Заказ при нажатии кнопки "Подтвердить" статус заказа изменяется на "аннулированный" всегда. Но перед этим добавляется еще один статус "Ожидание" . Статус заказа можно изменить только нижней кнопкой "Добавить" в историю .
    Вторая ошибка: Кнопка/ссылка "распечатать список доставки" на ней вообще всегда висит class="btn btn-info disabled". при любом статусе заказа. Если убрать disabled , то нормально открывается печатная форма заказа.
    Третья ошибка: Не закрываются модальные окна по кнопке "Подтвердить".

    Решение для первой ошибки.
    Найдите в файле catalog/model/checkout/order.php метод editOrder и закомментируйте строку:


    Код:
     // 1. Void the order first
            $this->addHistory($order_id, $this->config->get('config_void_status_id'));


    Она самая первая. Это удалит добавление строки с "Аннулирование".

    В файле admin/view/template/sale/order_info.twig найдите обработчик #button-confirm. Внутри него строка сбора данных. Измените её, включив элемент #input-order-status

    data: $('#form-customer, #form-cart, #form-shipping-address, #form-shipping-method, #form-payment-address, #form-payment-method, #collapse-order form, #form-comment, #input-order-id, #input-order-status').serialize(),

    Пропущен элемент #input-order-status



    Решение для второй ошибки.

    Шаг 1. Добавьте переменную shipping_code в метод info()
    Откройте файл admin/controller/sale/order.php и найдите метод info() (начинается примерно со строки 270). Внутри этого метода после блока, который обрабатывает способ доставки (там где заполняются shipping_method_name, shipping_method_code и т.д.), добавьте следующую строку:

    php
    // Shipping method
    if (!empty($order_info['shipping_method'])) {
    $data['shipping_method_name'] = $order_info['shipping_method']['name'];
    $data['shipping_method_code'] = $order_info['shipping_method']['code'];
    $data['shipping_method_cost'] = $order_info['shipping_method']['cost'];
    $data['shipping_method_tax_class_id'] = $order_info['shipping_method']['tax_class_id'];
    } else {
    $data['shipping_method_name'] = '';
    $data['shipping_method_code'] = '';
    $data['shipping_method_cost'] = '';
    $data['shipping_method_tax_class_id'] = 0;
    }
    // Добавляем переменную shipping_code для шаблона (используется для блокировки кнопки)
    $data['shipping_code'] = !empty($order_info['shipping_method']['code']) ? $order_info['shipping_method']['code'] : '';


    Или поменять admin/view/template/sale/order_info.twig
    <a href="{{ shipping }}" target="_blank" data-bs-toggle="tooltip" title="{{ button_shipping_print }}" class="btn btn-info{% if not shipping_method_code %} disabled{% endif %}"><i class="fa-solid fa-truck"></i></a>


    Там пропущено _method_ в shipping_method_code

    Решение для третьей ошибки.
    Необходимо добавить в файле admin/view/template/sale/order_info.twig в обработчики отправки форм для модальных окон. Для каждого из них в разделе if (json['success']) { добавьте строку закрытия соответствующего модального окна.
    $('#modal-shipping-address').modal('hide');


     
    Последнее редактирование: 30 мар 2026
    Ravilr нравится это.
  2. AlkatraZ

    AlkatraZ Новичок

    Сообщения:
    16
    Симпатии:
    7
    Свежие новости "из подземелья" :)

    Наконец то сдвинулась с мертвой точки разработка OpenCart 4.x.x.x
    Правда пока не знаю, какой номер версии будет, или 4.1.0.4 как планировалось, или (что логичнее) 4.2.0.0, но главное не это, а то, что работа идет и возможно в скором времени будет новая оф. версия с исправлениями, полностью совместимая с 4.1.0.3.

    Горячая тема с обсуждением: https://github.com/opencart/opencart/discussions/15300
    PR, который я по согласованию сейчас готовлю и который включает много фиксов и улучшений: https://github.com/opencart/opencart/pull/15315

    Надеюсь, в скором времени все таки выйдет стабильная версия.
     
  3. Ravilr

    Ravilr Специалист

    Сообщения:
    4.183
    Симпатии:
    1.438
    Хорошо подмечено :D