Оформление заказа - один из самых важных моментов в работе онлайн-магазина. Изменение процесса оформления заказа может вызвать ошибки в работе и клиент не сможет оформить заказ. Однако, иногда возникает необходимость отключить шаг выбора доставки и сразу перейти к способу оплаты.
Данный шаг отключается только у виртуальных товаров, но можно отключить данный шаг, переопределив родное поведение контролёра, отвечающего за оформление заказа.
В данной статье мы расскажем, как это сделать.
Первым шагом будет создание файла OrderController.php в папке front по пути /override/controllers/front/. В этом файле мы сделаем переопределение контролёра OrderControllerCore и метода buildCheckoutProcess().
В созданном файле делаем переопределение контролёра:
Далее нам нужно скопировать метод buildCheckoutProcess() из файла по адресу /controllers/front/OrderController.php и закомментировать строки кода, как показано на скриншоте:
После этого сохраняем файл и, если у вас стоит кэш, нужно его очистить.
Теперь при оформлении заказа на странице оформления не будет шага выбора доставки, а сразу будет переход к выбору способа оплаты.
Опять же, отметим, что данный подход не рекомендуется, так, как на этом этапе могут быть завязаны разные модули, но, если это необходимо, то вы знаете, как это сделать.