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

Налаштування односторінкового оформлення замовлення (checkout) в 1С-Бітрікс Коли користувач доходить до оформлення замовлення, кожен додатковий крок відсіює 5–10% покупців. Багатосторінковий checkout із 3–4 етапів дає гарантовану втрату 15–25% клієнтів на шляху до оплати. Односторінковий режим ON
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Налаштування односторінкового оформлення замовлення (checkout) в 1С-Бітрікс
Простий
~1 день

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

Часті запитання

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

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1454
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    1018
  • 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
    760
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    879
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    803
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1162

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

Коли користувач доходить до оформлення замовлення, кожен додатковий крок відсіює 5–10% покупців. Багатосторінковий checkout із 3–4 етапів дає гарантовану втрату 15–25% клієнтів на шляху до оплати. Односторінковий режим ONE_PAGE компонента bitrix:sale.order.ajax вирішує цю проблему: усі блоки — дані покупця, доставка, оплата — відображаються на одній сторінці та оновлюються через AJAX без перезавантажень. Ми реалізували десятки таких checkout'ів для проєктів із каталогами від 50 000 до 500 000 товарів і знаємо всі підводні камені. Налаштування односторінкового оформлення замовлення (checkout) в 1С-Бітрікс потребує не просто ввімкнення режиму, а й доопрацювань — збереження даних у localStorage, кешування розрахунків доставки, обробки тайм-аутів AJAX-запитів. Докладніше про технологію AJAX можна прочитати в Wikipedia. Офіційна документація щодо компонента — dev.1c-bitrix.ru.

Проблеми, які вирішуємо

Втрата даних при F5

Компонент не зберігає введені дані ні в сесії, ні в localStorage. При перезавантаженні сторінки всі поля стають порожніми — для користувача це катастрофа. Рішення: додати обробник onchange на всі поля форми, який записує дані в localStorage, і при DOMContentLoaded відновлювати їх. Реалізація займає 2–3 години і dramatically покращує UX.

Повільні розрахунки доставки

Найвужче місце — розрахунок доставки через зовнішні сервіси (Нова Пошта, Укрпошта). Якщо API відповідає повільно, користувач бачить спіннер. Ми використовуємо кешування з ключем {city_id}_{weight}_{price} і TTL 30 хвилин. На одному з проєктів це знизило час завантаження checkout на 40%.

Некорректна робота декількох відвантажень

Режим ONE_PAGE погано підтримує кошики, де товари потребують різних умов доставки. У стандартному компоненті список служб може відображатися некоректно. Для таких випадків ми розробляємо кастомний checkout із поділом на підсекції.

Як ми це робимо

Підключення режиму 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 СДЕК повільно відповідає) — користувач бачить спіннер. Це нормально, але варто додати тайм-аут і кешування розрахунків за кодом міста та вагою кошика.

Кешування розрахунків доставки

Кешування реалізується через Bitrix\Main\Data\Cache. Ключ формується як delivery_calc_{city_id}_{weight}_{price}. TTL встановлюється 30 хвилин. Це дозволяє скоротити час відповіді на 40% і знизити навантаження на зовнішні API.

Процес оцінки та роботи

  1. Збір даних — аналіз поточного checkout, конфігурації компонента та бізнес-вимог.
  2. Аудит/аналіз — виявлення вузьких місць, втрат даних, проблем із доставкою.
  3. Проєктування — визначення архітектури збереження даних, кешування, AJAX-логіки.
  4. Оцінка — розрахунок вартості та термінів на основі виявлених особливостей.
  5. Розробка — перемикання на ONE_PAGE, реалізація localStorage, кешування, доопрацювання AJAX.
  6. Тестування — перевірка на кошиках різного обсягу (до 500+ товарів), різних містах і сценаріях.
  7. Запуск — передача документації та доступів.

Орієнтири за термінами

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

Терміни уточнюються після аналізу вашого проєкту.

Типові помилки та їх рішення

Помилка Рішення
Втрата даних при F5 Збереження полів у localStorage
Повільні розрахунки доставки Кешування за містом/вагою
Конфлікт із SEO-плагінами noindex сторінки checkout
Некорректні декілька відвантажень Кастомна розробка підсекцій

Наша компанія

Ми займаємося розробкою на 1С-Бітрікс та Бітрікс24 понад 7 років. Реалізували 40+ checkout'ів для інтернет-магазинів із товарообігом до 2 млн ₴/міс. Гарантуємо стабільність рішення: надаємо страховку від збоїв — якщо після впровадження checkout працює некоректно, виправляємо безплатно протягом 30 днів. Середня економія клієнтів становить суттєву суму за рахунок зниження відвалу. Отримайте консультацію щодо вашого проєкту — зв'яжіться з нами для оцінки checkout.