[spoiler]
Автоматическая подстановка города по умолчанию
Первый мой кейс будет полезен как небольшим региональным проектам, таким как в моем примере, проект работает по Калининградской области, но львиная доля его заказчиков это жители Калининграда, так и крупным проектам.
В новой платформе первым элементом который важен при дальнейшем оформление заказа это регион доставки. И хотелось бы использовать автоматическую подстановку «Калининграда» для увеличения конверсии и уменьшении проблем с оформлением заказов.
Вот так это выглядит при первом входе сейчас:
Клиенты, конечно, могут щелкнуть по кнопке «Калининград» и произойдет заполнение, но многие клиенты, понимая что проект локальный, просто пропускают этот шаг, получая ошибку:
Данную проблему выявил «Вебвизор Метрики», конечно далее клиент заполняет все правильно, но это создает излишнее раздражение, тем более еще одним из критериев является самовывоз (80% заказов работают с ним), а для него не особо требуется правильный город.
Давайте проставим город по умолчанию и посмотрим сработает ли подстановка, идем в административный раздел магазина в настройки свойств:
И настраиваем местоположение по умолчанию:
А теперь переходим к оформлению заказа для проверки:
Отлично, местоположение заполнено и клиенту достаточно нажать «Далее».
Если требуется, можно изменить автоматическую подстановку на другой город.
Главное, заказ будет оформлен с минимальными неудобствами для клиента и мы максимально увеличим конверсию.
Для крупных магазинов можно аналогично собрать статистику и проставить города с быстрыми местоположениями, как на скриншоте, это: «Калининград», «Зеленоградск», «Светлогорск».
Можно установить самый популярный город по умолчанию, всегда проще изменить город или уточнить по звонку, чем потерять клиента.
Дополнительные ограничения в оплатах
Следующим шагом в оформление заказа у меня стоит блок с оплатой. Для оплат, ограничение которое хочется привнести, это ограничение по расчету наличными во время доставок курьером. Курьеры на проекте девочки, поэтому не хочется рисковать их здоровьем при больших суммах.
Введем ограничение с привязкой к определенным службам доставки и максимальной сумме чека.
Для этого идем в административный интерфейс на вкладку «Ограничения», для конкретного способа оплаты:
В данном случае нужно будет сделать две системы оплаты наличными, в одной, я ограничу использование для точки самовывоза, но там нет ограничений по цене, вторая, будет ограничиваться курьерскими службами и мы сделаем ограничение по сумме.
Установим ограничение по цене:
И ограничения по нужным доставкам:
В итоге у нас получается следующее:
Идем проверять оформление заказа с товарами на сумму менее 10 000 рублей и доставкой курьером:
Все отлично, требуемая оплата есть, заказ можно оформить.
Проверим с товаром более 10 000 рублей:
Отлично, наличная оплата отсутствует и можно оформить заказ с оплатой другими способами и не рисковать курьерами и большими суммами при доставке.
Удобно и клиентам, они не видят такого способа оплаты, соответственно не могут оформить заказ таким способом и не будут ругаться с операторами которым придется объяснять почему я заказ оформил, а теперь вы не хотите к нам ехать.
Дополнительные услуги в доставках
Нас часто просили дать возможность создавать требуемые услуги в доставках, и в новой платформе это стало возможным. Я сам на проектах не раз хотел добавить некий набор услуг для доставок, который можно было допродавать, тем самым увеличивая средний чек заказа.
Идем в настройки доставок:
В интерфейсе появилась отдельная вкладка с дополнительными услугами, которые будут отображаться в блоке доставок.
Услуги поддерживаются трех видов:
- Список услуг – формируется одна услуга в виде списка, клиент может выбрать один элемент из сформированного списка. По умолчанию выбирается первая из услуг списка, поэтому если вам не требуется увеличения цены вам необходимо первую услугу сделать с ценой «ноль»
- Количественная услуга – создается услуга с ценой за единицу, а клиент может указать сколько требуется данной услуги.
- Единичная услуга – самостоятельная услуга, отображается как чек-бокс, по умолчанию не применяется и клиент должен сам выбрать нужную.
Разберем настройку таких правил:
Настройки для всех типов услуг очень похожи, есть два блока которые и управляют основными элементами. Требуется задать название и описание услуги.
Установить кто может использовать данную услугу:
- Менеджер – услуга будет отображаться в административном интерфейсе
- Клиент – услуга будет отображаться во время оформления заказа в публичной части сайта.
Услуги открывают огромное поле возможностей по увеличению среднего чека заказа.
Динамический «Ввод личных данных»
Доставки оформлены и мы переходим к одному из важнейших элементов в оформление заказа, - запросу у пользователя данных для доставки или отпуска заказа.
В предыдущем компоненте у клиента запрашивался одинаковый набор полей, не важно какой тип доставки он выбирал, что было несколько избыточным для определенных видов доставки.
Новый компонент оформления заказа умеет запрашивать только требуемый набор полей для определенного типа, например доставок. Самый частый кейс, уменьшить количество информации требуемой для доставки «Самовывозом».
Сейчас, я попробую с вами это настроить. Какие поля нам потребуются, я считаю мне будет достаточно знать от клиента:
- ФИО
- Телефон
- E-mail – теоретически он не нужен и от него можно тоже отказаться J но хочется баловать клиента рассылками о новинках.
Привязываем только те «Службы доставки» у которых данное поле будет отображаться.
Идем в публичный раздел и пробуем оформить заказ, выбираем самовывоз, и видим, что магазин не спрашивает у нас адрес доставки.
Очень ожидаемый функционал от продукта. Очень неприятно отвечать на вопросы клиентов: «А зачем вам мой адрес, если я собираюсь забрать заказ самостоятельно?». Теперь этого делать не требуется.
Пункт выдачи заказа
Напоследок хочется рассказать об изменениях блока выбора «Пунктов выдачи заказа»
Самыми важными просьбами и идеями прошлого компонента были проблемы с отображением большого количества точек самовывоза, мелкая карта, не выбирался автоматически пункт самовывоза, если он был один, например.
В новом компоненте появилась настройка как отображать пункт выдачи заказов, когда он у магазина один в каком либо городе, мы показываем сразу свернутый блок и выводим все его данные с картинкой или показываем блок развернутым. Для отображения карты в первом случае, вам нужно будет войти в блок, во втором карта будет отображена сразу.
Мне понравился первый вариант и я поставил вот в таком виде:
Если мы отображаем блок развернутым, то клиент увидит следующую картину:
В завершение описания работы компонента, которую можно провести без вмешательства со стороны разработки. Хотелось бы сказать: «Спасибо всем, кому полезен этот текст!» Мы с удовольствием ответим на все ваши вопросы в комментариях к данной статье.
.
После оформления заказа автоматически перенаправляет на страницу подключения платежной системы. Мне так не надо (менеджер должен проверить наличие), а соотв. опции в настройках нет.Вы писали, что можно использовать старый шаблон корзины, но его нет в установочнике, где его взять?
Тоже поставил его, пока все работает, вроде норм )
Просто пропадает поле ввода и все, даже при смене типа плательщика поле не восстанавливается.
Который наделен большим функционалом, у которого поддерживаются купоны, у которого нормально рассчитываются скидки (в отличие от sale.order.ajax, который по какой-то неведомой причине не обрабатывает нормально скидки из правил работы корзины и правил работы с заказом), который нормально поддерживает старые события с возможностью прерывания процесса заказа (в sale.order.ajax обработку старых событий добавили, но ! зачем возвращать false и прерывать процесс! правильно, НЕЗАЧЕМ!). Вот почему опять такая петрушка?
Да совершенно верно - можно тащить старый шаблон самостоятельно или вообще свой компонент. (в общем то так и приходится делать) Но! Давайте и о другом подумаем. Мы, как партнеры Битрикс, пытаемся привести новых клиентов, и их надо убедить, что стоимость лицензии оправдана. И это лучше чем решение на бесплатных CMS.... И тут, в нагрузку, надо объяснять, что они обречены на нашу поддержку.... Т.е. стоимость владения увеличивается. Ну а дальше работает сарафанное радио сообщающее уже нашей (как ваших партнеров) целевой аудитории, что покупка лицензии это далеко не все расходы...
Блеск ответ!
В самый низ template.php добавляем
BX.Sale.OrderAjaxComponent.editDeliveryBlock(true);
BX.Sale.OrderAjaxComponent.editPaySystemBlock(true);
});
Я решила задачу путем изменения параметров в order_ajax.js:2507 true вместо active
this.editPaySystemBlock(true);
break;
case this.deliveryBlockNode.id:
this.editDeliveryBlock(true);
break;
P.s просто отключить не могу поле Индекс в админке не могу так как служба доставки определяет местоположение по этому полю.
в событии OnSaleComponentOrderCreated ловлю реквест ($request->get("save" == 'Y'),
в теле условия пытаюсь изменить цену так:
if ($request->get("save" == 'Y') {
$price = $order->getField('PRICE') - $order->getDeliveryPrice();
$order->setField('PRICE', $price);
$order->save();
}
цена высчитывается верно, но в заказе не сохраняется. Помогите, кто знает, оч надо.
1. Клиент оформляет заказ. Если стоит "Автоматическая регистрация", то клиент потом не может вернуться в Личный кабинет без того, чтобы восстановить пароль.
Восстановить!!! Как можно предлагать клиенту восстанавливать пароль, который собственно никто не терял? Что он думает обо мне, а я, соответственно о разработчиках Битрикс? Что мы с ними, вместе, сплошная дырка, которая потеряла его пароль сразу же... И он мне должен перевести какие-то деньги, такому олуху, который потерял его пароль?
Вопрос: почему я должен терять лицо? Я - не Битрикс, мне не все равно. Почему фактически "одноразовая регистрация" в системе стыдливо называется автоматической. Автоматическая потеря данных клиента?
2. Техподдержка говорит, отключите "Автоматическую регистрацию" и будет Вам счастье. Отключаю. На странице регистрации мало того, что стоит радиокнопка "Сгенерировать логин и пароль", но и она еще и выбрана по дефолту. Клиент думает обо мне хорошо, он не подразумевает подвоха и оставляет её включенной.
Что имеем в итоге - "Автоматическая регистрация"!!!! Круг замкнулся. Я опять потерял пароль клиента и он должен потом его восстанавливать.
Почему по умолчанию стоит именно то, что я отключил? Почему вообще это глупая одноразовая регистрация вообще предлагается (выводится), если я явно указал в настройках, что не хочу издеваться над своим клиентом? Почему она выводится без всякого предупреждения о том, что система тут же заставит его восстанавливать ею же сгенерированный пароль и всё это, по своей сути - фикция. А отправить ему пароль система не умеет....
Разработчики модуля приложили немалые усилия, чтобы сделать его удобным. Это видно. Но тогда откуда этот шедевр удобства и функциональности? Тестирование, конверсии, SRM-системы. Зачем все это, если клиент злобно шипит, плюет в монитор и уходит на другой сайт, в другой магазин.
Котором управляет система созданная для покупателя, а не для утешения самолюбия программиста 1С-Битрикс.
P.S. Общение с техподдержкой смешит. Все, что мы сделали - это свято и незыблимо. Ошибаться мы не можем. Всё, сделанное нами, тут же высекается в камне и прибивается на стены в назидание потомкам! Скрижали!
Поставил галочку в настройках "Пропускать шаги, в которых один элемент для выбора" , компонент всё равно предлагает выбрать доставку, а когда нажимаешь "Далее" сразу сворачиваются блоки выбора доставки и оплаты и открывается блок со свойствами заказ (ФИО, email и т.п.). Попробовал просто скрыть первые блоки css-ом, но тогда не грузится 3-й блок (похоже он по ajax подтягивается). Как быть? )) Не хочется много кастылей делать ))
Т.е. сначала выводим клиенту выбор параметров этого свойства, далее ему становятся доступны те или иные службы доставок...
Например, на сайте работает автоматическое определение местоположения пользователя.
И нужно автоматом вставлять это местоположение в форму заказа.
Подскажите, пожалуйста, как поменять порядок блоков - Покупатель, Доставка, Оплата?
О чем вы думали, когда решили сделать такой компонент.? !!!
Как добавить обработчик оплата наличными куръеру или же просто копию сделать оплаты начными
Если просто скопировать папку то неработает...пишет ошибка php handler