Налаштування покрокового оформлення замовлення 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 днів.







