Настройка пошагового оформления заказа 1С-Битрикс
Пошаговое оформление заказа в Битрикс — это режим работы компонента bitrix:sale.order.ajax с параметром DELIVERY_MODE = SPLIT_DELIVERY. Покупатель проходит несколько шагов: данные покупателя → способ доставки → способ оплаты → подтверждение. Проблема, с которой чаще всего приходят: либо шаги не переключаются корректно при AJAX-запросах, либо нужно добавить дополнительный шаг (например, выбор времени доставки), которого в стандартном компоненте нет.
Как работает пошаговость
Компонент разбит на шаги через шаблон. В папке шаблона /bitrix/components/bitrix/sale.order.ajax/templates/.default/ находится order_ajax.php — основной файл шаблона, и набор файлов step_*.php. Переключение шагов — JavaScript-функция orderAjax.gotoStep(), которая отправляет данные текущего шага на сервер и получает разметку следующего.
При работе с кастомным шаблоном важно сохранить структуру JS-переменных, которые компонент ожидает: arOrderAjaxFields, arDeliveryList, arPaySystemList. Если эти объекты не заполнены корректно — AJAX-переключение между шагами сломается.
Настройка количества и порядка шагов
Стандартный шаблон поддерживает 3 шага. Для добавления шага (например, «Выбор времени доставки» или «Подарочная упаковка»):
- Создать копию шаблона в
/local/components/bitrix/sale.order.ajax/templates/ - Добавить новый файл
step_delivery_time.phpс разметкой шага - Добавить шаг в JavaScript-массив шагов
orderAjax.steps - В обработчике
OnSaleComponentOrderMakeOrderсохранить данные доп. шага в свойства заказа
Настройка условного перехода между шагами
Если для определённых типов доставки (самовывоз) нужно пропустить шаг с адресом — это реализуется через JS-событие смены шага:
BX.addCustomEvent('onSaleOrderAjaxStepChange', function(currentStep, nextStep) {
if (currentStep === 'DELIVERY' && selectedDeliveryIsPickup()) {
orderAjax.gotoStep('PAYMENT'); // пропустить шаг адреса
return false;
}
});
На сервере нужно соответственно убрать обязательность полей адреса для самовывоза — через условие в обработчике OnSalePropertyValueCheck.
Сроки настройки
Настройка пошагового оформления на базе стандартного компонента (изменение шаблона, порядка шагов, условной логики) — 1–3 рабочих дня. Добавление нестандартных шагов с сохранением данных в свойства заказа — 2–5 дней.







