Проверка застряла шаг 2 (оплата)


У меня есть magento 2, работающий в живом проекте, и наши клиенты также видят некоторые странные проблемы в браузере Firefox и Chrome. Я смог воспроизвести его только один раз, и после обновления страницы все работает так, как ожидалось. Я буду рад, если у кого-то есть/была подобная проблема, и у меня есть некоторая информация о том, как ее отладить/исправить.

Предварительные условия

  1. Magento CE 2.1.0
  2. Режим производства и лак
  3. Последняя версия Firefox & Последние версии Chrome

Шаги по воспроизведению

  1. Добавить товар в корзину
  2. Перейдите на страницу оформления заказа
  3. Введите адрес для выставления счета и выберите способ доставки
  4. Нажмите кнопку Далее, чтобы открыть раздел оплаты

Ожидаемый результат:

Отобразить значок загрузчика, загрузить раздел оплаты и сводку по корзине, скрыть значок загрузчика

Фактические результаты:

Отобразить значок загрузчика, загрузить раздел оплаты и сводку по корзине, значок загрузчика не скрывается и не остается.

Нет ошибок JS на вкладке консоль или сеть в FF (запрос ajax в раздел получения оплаты). После обновления с помощью #payment в URL все работает нормально. Даже если открыть/оформить заказ без #оплаты (начните с 1-го шага), 2-й шаг открывается плавно.

Я поднял вопрос в github: https://github.com/magento/magento2/issues/7186

Author: Miroslav Petroff, 2016-10-25

1 answers

Эта проблема все еще не устранена, но есть обходной путь от @dcabrejasazagra здесь

Обходной путь:

Переопределение vendor/magento/module-checkout/view/frontend/web/js/model/shipping-save-processor/default.js в вашу тему

magento/app/design/frontend/Vendor/Theme/Magento_Checkout/web/js/model/shipping-save-processor/default.js

Внутри этого файла вы найдете fullScreenLoader.stopLoader(); вызываемые методы done и fail

Поэтому вам нужно заменить их на fullScreenLoader.stopLoader(true);, что заставит остановить загрузчик и решить проблему.

stopLoader() метод определен в vendor/magento/module-checkout/view/frontend/web/js/model/full-screen-loader.js

Редактировать: Я предполагаю, что некоторые компонент выходит из строя при проверке и методе trigger.fail(), но процессор ошибок неправильно обрабатывает ошибки, отображает ошибки и скрывает загрузчик.

 3
Author: Miroslav Petroff, 2017-02-05 09:11:53