Своє обмеження служби доставки бітрикс. Бітрікс: створення обробника автоматизованої служби доставки

Своє обмеження служби доставки бітрикс. Бітрікс: створення обробника автоматизованої служби доставки

Вирішуємо проблему виведення автоматизованих служб доставки інтернет-магазину Бітрікс v14 при оформленні замовлення на Яндекс.Маркеті.

Йтиметься ось про це, виявляється не зроблено, працюють тільки налаштовані служби, сьогодні це виправимо.
Тут я тестую оформлення замовлення в панелі Яндекс.Маркет, покупцеві буде виводитися те саме, коли він оформлятиме замовлення на Яндекс.Маркеті.

Вибір автоматизованих служб

Спочатку нам потрібно додати автоматизовані служби доставки в налаштування модуля Інтернет-магазинув розділі Покупки на маркеті

Т.к. за замовчуванням їх там немає, і модуль інтернет-магазину оновлювати ми вже не зможемо, я редагую прямо в модулі, тому що це не так. у моєму випадку якщо оновити магазин, то у клієнта все перестане працювати, що у вашому випадку робити я не знаю, подумайте, в новому магазині Бітрікс v16 можливо це теж не працюватиме.

Установки задаються в адміністративній сторінці у файлі
/bitrix/modules/sale/admin/ymarket.php

Настроювані служби там є до Самовивіз, а нижче це я вивів автоматизовані служби доставки, у всіх значення наприклад Пошта, у разі була потрібна лише пошта, якщо потрібно щось інше, буде нескладно доопрацювати, т.к. принцип буде зрозумілий, де і що робити, але виводитимуться всі автоматизовані служби, можливо і працюватимуть, просто я це не перевіряв.

Отже, знаходимо де у файлі формується масив настроюваних служб $arDeliveryList і додаємо до нього автоматизовані

$arDeliveryFilter = array(
"LID" => $arTab["SITE_ID"],
"ACTIVE" => "Y"
);

//STATIC DELIVERY
$dbDeliveryList = CSaleDelivery::GetList(
array("NAME" => "ASC"),
$arDeliveryFilter,
false,
false,
array("ID", "NAME")
);

$arDeliveryList=array();
while ($arDelivery = $dbDeliveryList->Fetch())
$arDeliveryList[$arDelivery["ID"]] = $arDelivery["NAME"];

//AUTOMATIC DELIVERY
$dbRes = CSaleDeliveryHandler::GetList(
array("NAME" => "ASC"),
$arDeliveryFilter
);
while($delivery = $dbRes->Fetch())
{
$deliveryId = ($delivery["ID"] ? $delivery["ID"] : $delivery["SID"]);
$arDeliveryList[ $deliveryId ] = $delivery["NAME"];
}


Далі знаходимо блок виведення доставок і додаємо до списку опцію для пошти, в моєму випадку вона була закоментована, у вас швидше за все все буде.

Ось так готовий селект виглядає, що виводить служби доставки в адмінці

$deliveryName):
$selected = isset($siteSetts["DELIVERIES"][$deliveryId]) ? $siteSetts["DELIVERIES"][$deliveryId] : "";
?>


З налаштуваннями все, залишилося допрацювати скрипт на який приходять запити з Яндекс.Маркету, він і каже маркету, які доставки показати покупцю при оформленні замовлення на Яндекс.Маркеті.

Запити Яндекс.Маркет

Всі запити з Яндекс.Маркета в Бітрікс приходять спочатку в цей файл, в ньому тільки підключення іншого файлу
/bitrix/services/ymarket/index.php

У тому файлі підключається саме API Бітрікс для взаємодії Яндекс.Маркету з вашим інтернет-магазином
/bitrix/modules/sale/services/ymarket/index.php

У цьому файлі цікавить метод, який йде далі, до потрібного нам файлу для змін, у цьому нічого не змінюємо
$result = $YMHandler->processRequest($requestObject, $method, $postData);

А ось і наш файл, у якому вся логіка взаємодії Бітрікса з Яндекс.Маркетом працює з ним
/bitrix/modules/sale/general/ym_handler.php

Я не відразу писав статтю, якийсь час функціонал тестувався і виправлялися помилки, навіть якщо щось забув сказати, файли я прикріпив, можна розібратися.

Взагалі, якщо в цьому файлі ви зміни раніше ніякі не вносили на своєму сайті, можете спробувати повністю мій файл, в ньому, крім доставок, нічого не змінювалося, все робоче.

Отже, які були зміниу класі CSaleYMHandler
1) Додано змінну, в якій зберігатиметься повна інформація про товари в кошику для розрахунку доставки автоматизованими службами доставки.
protected $basketItems = array();

2) Змінено метод, який слухає кошик на маркеті, отримує інформацію про товари (кошик) та повертає служби доставки та способи оплати
protected function processCartRequest($arPostData)

3) Змінено метод, який отримує інформацію про товари в кошику на маркеті (id, ціна, кількість, вага, габарити тощо)
protected function getItemCartInfo($arItem, $currency)

4) Змінено метод, який отримує інформацію про місцезнаходження покупця, доступні йому служби доставки за фільтром, вважає доставку та показує її покупцю на маркеті.
protected function getDeliveryOptions($delivery, $price, $weight = 0, $arBasketItems = array())

Ось у цьому методі розраховуються налаштовуються та автоматизовані служби доставки Бітрікс.

Зверніть тут увагу!

У моєму випадку магазин знаходиться в Москві і для Москви всі автоматизовані служби доставки відключені, для покупця з Москви вони показуватися не повинні, там самовивіз і кур'єрська доставка працює, в коді це умова (стор. 432):
if($locationTo == 2691) continue;

5) Змінено метод, який додає на вашому сайті замовлення, говорить маркету "Все ок" та повертає його номер Яндекс.Маркету
protected function processOrderAcceptRequest($arPostData)

Конкретно рядок 911, у ньому отримуємо Номер замовлення, це або ID замовлення, або Код замовленняпри включеній нумерації замовлення за шаблоном
$arResult["order"]["id"] = $this->getOrderNumber($orderID);

6) Доданий метод, який поверне на Яндекс.Маркет номер замовлення на вашому сайті (ID замовлення або Код-замовлення)
protected function getOrderNumber($orderId)

Додатково

Ще на сайті завантажено розташування 2.0, робив я це в минулому 2015 році, пам'ятаю була проблема з Яндекс.Маркетом, неправильно Бітрікс шукав розташування і Яндекс.Маркет повідомляв про помилку, ось де я це робив вже не пам'ятаю, я додав про всяк випадок в архів файл ym_location.php якщо знайдіть, повідомте будь ласка, я доповню статтю цим моментом.

Висновок

При оформленні замовлення на Яндекс.Маркеті покупець бачитиме список доставок у такому вигляді, їх повертає ваш магазин.

Файли, що використовуються у статті, все розкладено за татками, де знайти який файл буде нескладно.

    З хлопцями працюємо вже 2 роки. Відмінна команда, чудовий підбір програмістів.
    Практично у будь-який час є зв'язок з керівниками. Критичні питання можна вирішити навіть о 2-й годині ночі (для нас як інтернет-проекту це дуже важливо).

    Час, коли починали співпрацю з Атлантом, зараз згадується з легкою усмішкою. А тоді – все було дуже погано.
    Вирішили кардинально змінити сайт - старий "знести" та перейти на 1С-Бітрікс.

    Розробку сайту доручили фрілансеру. Він усе зробив, зверстав сайт. Але перед запуском у нього трапилися якісь труднощі, 2 тижні ми без зв'язку. Про нього нічого поганого сказати не можу, але - факт в наявності. Ми залишилися з недоопрацьованою копією сайту (понад 30 критичних доробок).

    Як бути у такій ситуації – поняття не мали. Стали шукати серед Золотих партнерів Бітрікса, які могли б нам допомогти в ситуації, що склалася.
    Написали близько сотні запитів.
    Відповідь від Атланта виділялася серед усіх! Вартість за роботи виявилася однією з найнижчих. Впевненість надавала покрокова інструкція, що хлопці збираються зробити із сайтом.

    У результаті запустили сайт, працюємо з ними і жодного разу не пошкодували!
    У перші 6 місяців після початку співпраці – у нас зростання продажів у 2 рази. Ставимо будь-які, навіть найскладніші завдання. Все виконується.
    Зручно, що все в одному місці: роботи на сайті, 1С, хостинг, seo, дизайн і т.д.
    Рекомендуємо!

    Андрій Рудий (Директор - LEDPremium)

    Працюємо з компанією Атлант уже два роки.
    Завжди розкладаємо яйця по різних кошиках і працювали одразу з кількома аутсорсерами.
    За рік перевели на "Атлант" від 20 до 70% виконання завдань з верстки сайту та налаштування 1С.
    Рік за роком дивуємося розвитку та прогресу компанії та радіємо за свій вдалий вибір.
    Рівень програмістів став вищим – ціни в межах ринку, реакція керівництва моментальна.
    Як завжди, коли все добре навіть не знаєш що виділити і немає приводу писати відгук.
    Діти повністю створили наш ресурс www.datakam.ru
    Від стандартного візуально убожественного Б24 не залишили каменю на камені.
    Наші маркетологи, щомісячні звіти, показують мені як керівнику, позитивний ефект змін на сайті та в автоматизації оформлення документів. Є толк. У грошах. В рублях.
    Чесно та відверто рекомендуємо цей творчий колектив як надійного партнера у роботі.
    Найсмішніше що ми ніколи не бачили нікого з керівництва та співробітників у вічі – і при цьому задоволені якістю та швидкістю виконання завдань.
    Рекомендуємо.
    Відповідаємо.

    Владислав Механцев (Технічний директор - datakam.ru)

    Працюємо з Atlant вже понад 2 роки, все влаштовує: швидкість виконання робіт і якість. Буває, що не вистачає програмістів або не завжди сходимося у питаннях дизайну, але всі питання виходило вирішити більш-менш оперативно.

    Цілком задоволений результатом. Дякую.

    Дмитро (Зам. ген. директора. - Souz.com)

Модуль має функціонал автоматичного розрахунку вартості доставки на основі даних про товар та адресу доставки.

Для розрахунку вартості доставки постових відправлень використається сервіс postcalc.ru. Зверніть увагу, що у безкоштовному режимі цей сервіс має обмеження на кількість запитів на день. Якщо вам потрібно більше 500 запитів на день, вам необхідно перейти на платний тарифний план. Детальну інформацію щодо умов використання сервісу postcalc.ru ви можете отримати, перейшовши за посиланням.


Для того, щоб додати на ваш сайт службу доставки "Пошта Росії" з можливістю автоматичного розрахунку вартості, виконайте такі кроки:
1. В адміністративній панелі вашого сайту перейдіть на адресу Адміністрація > Магазин > Установки > Служби доставки.

2. На сторінці зі списком служб доставки натисніть кнопку "Додати". У списку, що з'явиться, виберіть тип - "Автоматизована служба доставки".

3. На сторінці створення нової служби доставки перейдіть у вкладку "Налаштування обробника".
4. У полі "Служба доставки" у списку, що випадає, виберіть пункт "Пошта Росії" і збережіть вибір натисканням кнопки "Застосувати".

5. Після збереження створеної служби доставки на сторінці редагування з'являться додаткові вкладки:

  • Параметри
  • Профілі
  • Обмеження
Вкладка "Параметри"


Ця вкладка містить параметри:

  • Додати до ціни - у даному полі ви можете вказати суму додаткової націнки, яка буде додана з вартості доставки.
  • Округлення вартості до 10 вгору - позначте цю опцію, щоб увімкнути округлення вартості доставки.
  • Виводити адресу пошти - при зазначеній опції формуватиметься адреса поштового відділення одержувача. Надалі його можна буде вивести на сторінку оформлення замовлення.
  • Виводити телефони пошти - при включеній опції на формуватиметься телефон поштового відділення, до якого буде доставлено відправлення.

При зазначених опціях "Виводити адресу пошти" та "Виводити телефони пошти" буде формуватися змінна $arResult["RESULT"]["TEXT"]. Ви можете вивести цю інформацію в публічній частині, вставивши код "echo $arResult["RESULT"]["TEXT"];" у шаблоні компонента, який ви використовуєте для виведення інформації про вартість доставки.


Вкладка "Профілі"




У цій вкладці містяться попередньо встановлені профілі модуля "Пошта Росії/EMS - розрахунок та відстеження". Вам доступний весь набір стандартних дій над профілями служб доставки: Копіювання, Редагування, Видалення. Дія доступна з меню індивідуальних дій записів списку профілів. Цей функціонал є стандартним у системі Бітрікс. Більш детальну інформацію можна отримати на відповідній сторінці документації системи Бітрікс.

Вкладка "обмеження"




У цій вкладці містяться налаштування стандартного функціоналу Бітрікс, що дозволяє ввести обмеження на застосування служби доставки, що настроюється.

Звертаємо вашу увагу, що для коректних розрахунків вартості відправлень за допомогою сервісу postcalc.ru необхідна передача даних про вагу та оцінну вартість товарів, що входять до відправлення. Переконайтеся в панелі адміністрування вашого сайту, що ці дані коректно внесені для товарів каталогу. Також для розрахунків необхідна інформація про адресу доставки відправлення, а також адресу відправника. Інформація про відправника вноситься в адміністративному інтерфейсі вашого магазину за адресою Адміністрування - Налаштування - Налаштування Модулів - Інтернет магазин. Далі на сторінці налаштувань магазину перейдіть у вкладку "Адреса магазину". Для коректного розрахунку вартості відправлень заповніть поле "Індекс".



Можливі наступні варіанти отримання інформації про адресу доставки:

  • З поля "Індекс" у формі оформлення – рекомендований варіант.
  • З властивості "Місто", отриманого з поля "Місцезнаходження" у формі оформлення замовлення
  • З якості "Індекс", отриманого з поля "Місце розташування" у формі оформлення замовлення - якщо ця властивість заповнена для розташування.

Рекомендуємо передбачити окреме, обов'язкове для заповнення поле "Індекс" у формі оформлення замовлення. У цьому випадку покупець повинен буде явно вказати поштовий індекс, на який потрібно виконати відправлення, що дозволить уникнути можливих помилок під час розрахунків вартості відправлення.

Як завантажити конфігураційний файл:

Як налаштувати кошиковий віджет:

    В особистому кабінеті Яндекс.Доставки перейдіть за посиланням Налаштування у правому верхньому кутку сторінки, потім перейдіть на вкладку Інтеграція → Віджети.

    У блоці кошика віджету натисніть кнопку Встановити та скопіюйте код віджету.

    Поверніться до налаштувань модуля та вставте код у поле Код кошикового віджету.

Не забудьте вибрати місто, в якому знаходиться ваш склад. Якщо ви бажаєте відвантажувати замовлення на єдиний склад, увімкніть опцію Використовувати склад Яндекс.Доставки.

Значення відправника за замовчуванням

В полі ID відправника за замовчуваннямоберіть магазин, з якого найчастіше відвантажуються замовлення.

Габарити товарів

Налаштуйте габарити та вагу товарів. Задані габарити передаються в Яндекс.Доставку, та на їх основі розраховується вартість доставки.

Якщо ви не знаєте, які значення вибрати в цьому блоці, зверніться до адміністратора сайту.

Властивості замовлення

У списку зліва перераховані поля, які заповнює користувач під час оформлення замовлення. У списку праворуч виберіть відповідні властивості замовлення. Список усіх властивостей знаходиться на сторінці Магазин → Властивості замовлення. Вибрані властивості використовуються на картці замовлення.

Якщо ви не знаєте, що вибрати в цьому блоці, зверніться до адміністратора сайту.

Увага. Якщо ви задаєте налаштування адреси автоматично, обов'язково перевірте, яка Новий шаблон використовується в останніх версіях модуля «магазин»."))\"> шаблон оформлення замовлення використовується на вашому сайті. Якщо використовується старий шаблон, позначте відповідну опцію.

Статуси замовлення

У списку зліва перераховані статуси замовлення в системі Яндекс.Доставки. У полях праворуч виберіть відповідні значення у системі.

Якщо статусу в Яндекс.Доставці немає статусу у вашій системі, залиште поле порожнім.

Властивості товарів

Виберіть властивість, яка відповідає артикулу замовлення. Якщо ви не знаєте, яку властивість вибрати, зверніться до адміністратора сайту.

Налаштування компонента

Увімкніть цю опцію, щоб при оформленні замовлення покупець бачив кошиковий віджет одразу, коли вибирає Яндекс.Доставку. Покупцеві не потрібно робити зайві кроки при оформленні замовлення.

приклад

Як надсилати замовлення в Яндекс.Доставку

Щоб надіслати замовлення в Яндекс.Доставку:

    Перейдіть на ваш сайт на сторінку Адміністрація→ Магазин → Замовлення.

    Натисніть ID потрібного замовлення, а потім натисніть кнопку Яндекс.Доставка .

У вікні надсилання замовлення може бути повідомлення "Дані на замовлення були змінені, необхідно перерахувати вартість доставки". Натисніть кнопку Змінити варіант доставкита виберіть новий варіант.

Примітка. У модулі немає можливості керувати відвантаженнями – це можна робити в особистому кабінеті Яндекс.Доставки.

Встановлення віджетів

Ви можете встановити на сайт гео-віджет або кошиковий віджет.

Крок 1. Створіть тестову сторінку на сайті

    Перейдіть на вкладку Сайт та на верхній панелі натисніть кнопку Створити сторінку.

    У вікні виберіть опції Перейти до редагування сторінкиі Обмежити доступ до сторінки. Увімкніть доступ лише для адміністраторів.

    Більше нічого заповнювати не потрібно – натисніть кнопку Готово.

Крок 2. Налаштуйте віджет

    Розгорніть меню Магазин → Компоненти yandexmarketlabта перетягніть Віджет Яндекс.Доставкиу порожньому полі зліва.

    Поверніться до налаштувань модуля та вставте код у відповідне поле.

    Вкажіть інші налаштування та натисніть кнопку Зберегти. Якщо ви не знаєте, які значення вибрати, зверніться до адміністратора сайту.

Крок 3. Додати віджет на сайт

Вирішення проблем

Модуль не працює

Перш за все, переконайтеся, що ваш сайт відповідає системним вимогам. Це можна зробити на сторінці Адміністрація→ Установки → Інструменти → Діагностика → Установки PHP. Повинні відображатися такі значення:

    У верхньому блоці – версія PHP 5.3–7.0.

    У першій таблиці у рядку Server API - Apache 2.0 або вище.

    У таблиці MySQL у рядку Client API version - версія 5.0 або вище.

    У таблиці cURL у рядку cURL support - «enabled» .

Якщо сайт не відповідає будь-яким вимогам, зверніться до хостера сайту.

Додатково можна запустити перевірку сайту на сторінці Адміністрація→ Установки → Інструменти → Перевірка системи, на вкладках Тестування конфігураціїі Перевірка доступу.

Під час встановлення модуля з'являється помилка «Служба Яндекс.Доставки не знайдена»

Додайте службу вручну. Для цього:

    Перейдіть на сторінку Адміністрація→ Магазин → Установки → Служби доставки.

    Натисніть кнопку Додати та виберіть варіант Автоматизована служба доставки.

    На вкладці Налаштування оброблювачарозгорніть список Служба доставки, що випадає, і виберіть Яндекс.Доставку.

Порада. Якщо ви не змогли вирішити проблему, зверніться до служби підтримки в особистому кабінеті Яндекс.Доставки.

У способах доставки покупець не бачить Яндекс.Доставку чи посилання «Вибрати варіант доставки»

Крок 1. Перевірте служби доставки

    Перейдіть на сторінку Адміністрація→ Магазин → Служби доставкита перевірте, що на сторінці є Яндекс.Доставка і вона активна.

    Натисніть на Яндекс.Доставку і переконайтеся, що у вікні, що відкрилося, вкладка Обмеження порожня.

Крок 2. Перевірте налаштування модуля

Перейдіть на сторінку АдміністраціяНалаштування продуктуНалаштування модулів→ Яндекс.Доставкаі переконайтеся, що:

    всі налаштування в блоці Налаштування обмінузадані правильно;

    у блоці Габарити товарівзадані всі значення.

Крок 3. Перевірте за замовчуванням місто

Перевірте, чи в налаштуваннях задано місто магазину:

    Перейдіть на сторінку Адміністрація→ Властивості замовлення → Список властивостей.

    Для кожної властивості з типом «Location» натисніть номер властивості і у вікні задайте місто, в якому розташований ваш основний магазин або склад.

Крок 4. Увімкніть режим сумісності

Якщо на вашому сайті використовується Новий шаблон використовується в останніх версіях модуля магазин.

"}}\">новий шаблон оформлення замовлення, увімкніть режим сумісності:

Порада. Якщо ви не змогли вирішити проблему, зверніться до служби підтримки в особистому кабінеті Яндекс.Доставки.

Користувач не бачить вартість доставки при виборі Яндекс.Доставки

Порада. Якщо ви не змогли вирішити проблему, зверніться до служби підтримки в особистому кабінеті Яндекс.Доставки.

В Яндекс.Доставку не потрапляють дані покупця

Якщо на картці замовлення є всі дані покупця, а у формі відправлення замовлення в Яндекс.Доставку їх немає, перевірте налаштування властивостей замовлення на сторінці Адміністрація→ Магазин → Властивості замовлення → Список властивостей.

"}}\">шаблон оформлення замовлення :
  • Новий шаблон
  • Старий шаблон
  • Tutorial

У попередній статті ми розглянули процес встановлення нового компонента оформлення замовлень. Він кілька днів обкатався на проекті, і настав час скористатися тими можливостями, заради яких варто було переходити на нову платформу «1С-Бітрікс».

Автоматична підстановка міста за промовчанням

Цей приклад буде корисним як невеликим регіональним магазинам, так і великим проектам.

Регіон доставки – це перший із головних елементів процесу оформлення замовлення. Припустимо, нам потрібно використовувати автоматичне встановлення назви «Калінінград» для збільшення конверсії та зменшення проблем з оформленням замовлень.

Зараз при першому вході це виглядає так:

Клієнти, звичайно, можуть клацнути по кнопці «Калінінград», після чого поле заповниться, але багато хто просто пропускає цей крок, в результаті отримуючи помилку:

Цю проблему виявив "Вебвізор Метрики". Звичайно, після цього клієнт вже заповнює все правильно, але осад залишається, незважаючи на те, що у багатьох магазинах важливим критерієм є самовивіз (до 80% замовлень), а в цьому випадку правильність заповнення міста не критична.

Давайте проставимо місто за промовчанням і подивимося, чи спрацює підстановка. Зайдемо в адміністративний розділ магазину, і далі в налаштування властивостей:

І налаштовуємо місцезнаходження за замовчуванням:

Тепер для перевірки оформимо замовлення:

Відмінно, місце заповнено і клієнту достатньо натиснути «Далі». Тепер замовлення оформлятиметься з мінімальними незручностями для клієнта, а ми максимально збільшимо конверсію. Що стосується великих магазинів, то вони можуть зібрати статистику за частотою замовлень з тих чи інших міст, і зробити кнопки швидкого вибору, як на скріншоті: Калінінград, Зеленоградськ, Світлогорськ.

Можна встановити найпопулярніше місто за замовчуванням, адже завжди простіше змінити його або уточнити телефоном, ніж втратити клієнта.

Додаткові обмеження щодо оплати

Наступним кроком в оформленні замовлення йде блок із оплатою. Одним із видів обмежень може бути заборона на розрахунок готівкою при доставці кур'єром. Це може бути корисним у тих випадках, коли кар'єрами працюють жінки, здоров'ям яких не хочеться ризикувати при перевезенні великих сум.

Введемо обмеження з прив'язкою до певних служб доставки та максимальної суми чека. Для цього йдемо до адміністративного інтерфейсу на вкладку «Обмеження», для конкретного способу оплати:

В даному випадку потрібно буде зробити дві системи оплати готівкою:

  • в одній обмежимо використання для точки самовивезення, але без обмежень за ціною,
  • а в другій обмежуватимемося кур'єрськими службами, і додамо обмеження за сумою.
Спочатку встановимо обмеження за ціною:

Тепер обмеження щодо доставки:

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

Перевіримо оформлення замовлення з товарами на суму менше 10 000 рублів та доставкою кур'єром:

Все добре, потрібна оплата є, замовлення можна оформити.

Перевіримо з товаром понад 10 000 рублів:

Чудово, готівка відсутня, можна оформити замовлення з оплатою іншими способами, не ризикуючи кур'єрами та грошима.

При введенні обмежень клієнти не бачать «заборонені» способи оплати і тому не лаятимуться з операторами, яким інакше довелося б постійно пояснювати, чому ваша компанія не пощастить оформлене замовлення.

Додаткові послуги у доставках

Нас часто просили дати можливість створювати необхідні послуги у доставках. У новій платформі це було реалізовано. Користь від додаткових послуг полягає у збільшенні середнього чека замовлення.

Йдемо в налаштування доставок:

В інтерфейсі з'явилася окрема вкладка з додатковими послугами, які відображатимуться у блоці доставок. Підтримуються послуги трьох видів:


Давайте подивимося, як налаштовуються такі правила:

Налаштування для всіх типів послуг дуже схожі: є два блоки, які керують основними елементами. Насамперед потрібно задати назву та опис послуги. Потім вкажіть, хто може користуватися послугою:

  • Менеджер - послуга відображатиметься в адміністративному інтерфейсі.
  • Клієнт – послуга відображатиметься під час оформлення замовлення в публічній частині сайту.
Ось так виглядає додавання послуги в адміністративному інтерфейсі, під час створення замовлення або внесення правок:

Динамічний «Введення особистих даних»

Доставки оформлені, тепер можна перейти до одного з найважливіших елементів в оформленні замовлення - запиту користувача даних для доставки або відвантаження. У попередньому компоненті у клієнта вимагався однаковий набір полів. Йому доводилося вибирати, які поля варто заповнювати, дещо незручно.

Новий компонент оформлення замовлення вміє вимагати різні набори полів. Найчастіше власники магазинів зменшують кількість інформації, яку потрібно запровадити при самовивезенні. Мабуть, у цьому випадку нам достатньо знати:

  • Телефон.
  • E-mail. Цей пункт теж можна прибрати, але іноді хочеться «балувати» клієнта розсилками новинок.
Перейдемо в адміністративний розділ "Властивості замовлення" -> "Список властивостей", і виберемо для зміни властивість адресу:

Прив'яжемо лише ті «Служби доставки», які мають відображати це поле. Потім йдемо у публічний розділ та намагаємося оформити замовлення. Вибираємо самовивіз і бачимо, що магазин не запитує адресу доставки.

Це корисна та довгоочікувана функціональність. Адже погодьтеся, що не надто приємно відповідати на запитання клієнтів: «А навіщо вам моя адреса, якщо я збираюся забрати замовлення самостійно?». Тепер це робити не потрібно.

Пункт видачі замовлення

Насамкінець хочеться розповісти про зміни в блоці вибору «Пунктів видачі замовлення». У попередній версії основні нарікання були проблеми з відображенням великої кількості точок самовивозу, дрібну карту, відсутність автоматичного вибору пункту самовивозу (якщо він був один, наприклад).

У новій версії компонента з'явилося налаштування способу відображення пункту видачі замовлень. Якщо він єдиний у якомусь місті, то відразу показуємо згорнутий блок і виводимо всі його дані з картинкою, або показуємо розгорнутим блок. У першому випадку, для відображення карти вам потрібно буде увійти до блоку, а в другому – карту буде відразу відображено.

Давайте реалізуємо перший варіант:

Якщо ж відображати блок розгорнутим, клієнт побачить наступну картину:

На цьому ми закінчуємо наш невеликий туторіал. Ми продовжуватимемо знайомити вас з особливостями нових версій наших продуктів, стежте за нашим блогом.

 

 

Це цікаво: