Налаштування односторінкового оформлення замовлення (checkout) 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Налаштування односторінкового оформлення замовлення (checkout) 1С-Бітрікс
Проста
~1 робочий день
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Налаштування односторінкового оформлення замовлення (checkout) 1С-Бітрікс

Односторінковий checkout — режим ONE_PAGE компонента bitrix:sale.order.ajax. Усі блоки (дані покупця, доставка, оплата) відображаються на одній сторінці та оновлюються через AJAX при зміні значень. Запит на перехід до цього формату зазвичай виникає після замірів: покроковий checkout із 3–4 сторінками збільшує відтік на кожному кроці, односторінковий скорочує шлях від «Оформити» до «Оплатити».

Підключення режиму ONE_PAGE

У параметрах компонента на сторінці оформлення замовлення:

$APPLICATION->IncludeComponent(
    'bitrix:sale.order.ajax',
    '',
    [
        'DELIVERY_MODE' => 'ONE_PAGE',
        'SHOW_DELIVERY_PICTURE' => 'Y',
        'SHOW_DELIVERY_DESCRIPTION' => 'N',
        'PAY_FROM_ACCOUNT' => 'N',
        'SHOW_VAT' => 'N',
    ]
);

У режимі ONE_PAGE компонент при зміні будь-якого поля (зміна міста, вибір служби доставки) відправляє AJAX-запит і оновлює залежні блоки — вартість доставки, доступні платіжні системи.

Налаштування AJAX-оновлення блоків

У шаблоні односторінкового checkout за AJAX-оновлення відповідає об'єкт orderAjax — він ініціалізується у order_ajax.php шаблону. При зміні поля «Місто» викликається orderAjax.updateDelivery(), яка:

  1. Запитує доступні служби доставки для вказаного міста через \Bitrix\Sale\Delivery\Services\Manager::getRestrictedObjectsList()
  2. Розраховує вартість кожної через \Bitrix\Sale\Delivery\Services\Base::calculate()
  3. Оновлює блок доставки без перезавантаження сторінки

Якщо розрахунок займає більше 1–2 секунд (наприклад, зовнішній API CDEK повільно відповідає) — користувач бачить завантажувач. Це нормально, але варто додати таймаут і кешування розрахунків за кодом міста та вагою кошика.

Типові проблеми налаштування ONE_PAGE

Конфлікт із SEO-плагінами. Односторінковий checkout завантажує блоки динамічно, тому деякі SEO-інструменти не бачать контент сторінки і додають зайві мета-теги. Рішення: виключити сторінку checkout з індексації через robots.txt і <meta name="robots" content="noindex">.

Втрата даних при F5. При перезавантаженні сторінки на односторінковому checkout стандартний компонент не відновлює введені дані. Для UX це критично. Рішення — збереження даних форми в localStorage при кожній зміні поля та відновлення при завантаженні сторінки через JS.

Некоректна робота з кількома відвантаженнями. Якщо в кошику товари з різними умовами доставки, ONE_PAGE некоректно відображає список служб. Це обмеження стандартного компонента — для таких випадків потрібна кастомна розробка.

Строки налаштування

Перемикання на режим ONE_PAGE і налаштування шаблону під дизайн — 1–2 робочі дні. Додавання збереження в localStorage, кешування розрахунків доставки та доробки AJAX-логіки — 2–4 дні.