+7 499 938 8452 пн.-пт. 10:00 – 17:00

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

Скриншоты

Технические данные

Дата публикации:
27.05.2025
Версия:
1.0.0
Адаптивность:
Да
Поддержка композита:
Да
Число установок:
Менее 50 раз

Совместимые редакции

Описание

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

В состав модуля входит компонент, подготавливающий данные интервалов доставки к выводу в публичной части, также содержит шаблон для использования в стандартном компоненте 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(self::MODULE_ID, '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!

Установите этот модуль прямо сейчас!

Для этого укажите адрес сайта:

пример: https://www.site.ru
Выбор даты/времени доставки
Выбор даты/времени доставки
45 000 руб