Создание сайтов на 1С Битрикс стало еще просто, используйте готовые шаблоны! Подключайте современные модули, делая ваш сайт еще эффективнее!
Например, парсер сайтов

Выбор даты и времени доставки

45 000 i
Заказать
Оформление заказа
х
В наличии

Модуль позволяет администрировать доступные интервалы доставки.

В состав модуля входит компонент, подготавливающий данные интервалов доставки к выводу в публичной части, также содержит шаблон для использования в стандартном компоненте bitrix:sale.order.ajax с шаблоном bootstrap_v4.

Возможности:

  • Учёт остатков - при оформлении заказа модуль не предложит выбор интервалов доставки, если не все товары есть на складах [опционально]

  • Ограничение количества ближайших дней, для которых доступен выбор интервалов доставки

  • Создание разных наборов интервалов доставки для разных способов доставки

  • Многосайтовость

  • Можно задавать “базовые” интервалы доставки по дням недели и переопределять их в календаре для определенных дат

  • Выбор количества дней, через которое можно заказать доставку (пример: в понедельник можно выбрать интервалы только начиная с четверга) с дедлайном (учитывается время оформления заказа - например, до 12:00 можно заказать доставку на среду, а после 12:00 уже на четверг)

  • Неограниченное количество интервалов доставки в рамках одного дня

  • Сохранение результата в свойство заказа типа “Строка”

  • Передача интервалов доставки в JS_DATA компонента bitrix:sale.order.ajax по событию OnSaleComponentOrderJsData для случаев, когда вы реализуете собственную логику внутри bitrix:sale.order.ajax и не используете поставляемый с модулем компонент delight:delivery.datetime

  • Добавление собственной логики для вывода доступных дней/интервалов доставки путём модификации выходных данных

Ограничения:
  • Работает только на сайтах с кодировкой UTF-8
  • Версия Битрикса от 20.400.0
  • Версия PHP 8.1+
  • Наличие модулей: Sale, Catalog, Fileman
Требуется стандартная установка решения.
После установки будет доступна административная часть модуля, интеграция в публичную часть индивидуальна и делается разработчиками клиента.

В процессе настройки вам потребуется создать или использовать существующее свойство заказа типа "Строка", в котором будет храниться выбранный день и интервал доставки.

Пример интеграции в стандартный шаблон bootstrap_v4 компонента sale.order.ajax: https://github.com/DeLighter1990/bx-delivery-datetime-templates

==============================================

Если вы хотите использовать полностью собственную интеграцию в публичной части, то:
При использовании компонента bitrix:sale.order.ajax вы можете получить интервалы доставки в JS_DATA, включив передачу этих данных в настройках модуля.

Если для оформления заказа вы не используете компонент bitrix:sale.order.ajax или хотите вывести доступные интервалы доставки за пределами оформления заказа, то для получения интервалов доставки на бэке используйте:
\Bitrix\Main\Loader::includeModule('delight.deliverydatetime');

$deliveryBlocks = [];

$daysLimit      = \Bitrix\Main\Config\Option::get('delight.deliverydatetime', 'daysLimit');

$resData        = \Delight\Deliverydatetime\General::getBySite(SITE_ID);

while ($rowDataObject = $resData->fetchObject()) {

    $deliveryBlocks = [

        'id'            => $rowDataObject->getId(),

        'title'         => $rowDataObject->getTitle(),

        'deliveries'    => $rowDataObject->getDeliveries(),

        'availableDays' => \Delight\Deliverydatetime\General::getDaysWithIntervals(new \DateTime(), $rowDataObject, $daysLimit)

    ];

}



Если вы хотите добавить свою логику на вывод доступных дней/интервалов доставки (например, по габаритам товаров или наличию на складах и прочее), это можно сделать путём модификации выходных данных.
По вопросам техподдержки и расширения функциональности модуля обращайтесь на почту dronazzz@mail.ru
При обращении за технической поддержкой обязательно указывайте ссылку на сайт и доступы в админку и FTP!

x