MS: Расписание доставки
Описание
Модуль ms_delivery_schedule добавляет график доступности способов доставки и позволяет покупателям выбрать дату доставки при оформлении заказа. Модуль позволяет настроить расписание работы доставки по дням недели с указанием временных интервалов.
Основные возможности
- Расписание доставки: Настройка расписания работы доставки по дням недели с указанием временных интервалов
- Выбор даты доставки: Покупатели могут выбрать желаемую дату доставки при оформлении заказа
- Ограничение доступных дат: Настройка ограничений по количеству дней вперед и времени до начала доставки
- Множественные временные интервалы: Поддержка нескольких временных интервалов для одного дня недели
- Отображение в заказе: Информация о выбранной дате и времени доставки сохраняется в заказе
Как работает модуль
Модуль использует следующие механизмы:
- Хранение расписания (
hooks.func.php):
- Расписание хранится в сериализованном виде в поле
scheduleтаблицыshippings - Структура:
[день_недели] => [временные_интервалы], где день недели: 0-6 (0=воскресенье, 1=понедельник, ..., 6=суббота) - Поддерживает множественные временные интервалы для одного дня
- Сериализация расписания (
hooks.func.php):
- Функция
fn_ms_delivery_schedule_update_shipping()сериализует расписание перед сохранением - Поддерживает новую структуру с множественными интервалами и старую структуру (для обратной совместимости)
- Преобразует дни недели: 1-7 (из формы) → 0-6 (в базе данных), где 7 → 0 (воскресенье)
- Десериализация расписания (
hooks.func.php):
- Функция
fn_ms_delivery_schedule_get_shipping_info_after_select()десериализует расписание после получения из базы данных - Преобразует дни недели обратно: 0-6 → 1-7 для отображения в форме
- Разворачивает множественные временные интервалы для отображения
- Контроллер выбора даты (
controllers/frontend/checkout.post.php):
- Обрабатывает выбор даты доставки покупателем
- Сохраняет выбранную дату и время в сессию корзины
- Определяет день недели выбранной даты и загружает доступные временные интервалы
- Отображение на странице оформления (
controllers/frontend/checkout.post.php):
- Режим
checkoutпередает расписания доставки в шаблон - Включает информацию о минимальном времени до начала доставки и ограничении по дням
- Миграции базы данных: При установке модуль выполняет миграции для добавления полей
schedule,schedule_time,schedule_daysв таблицу способов доставки.
- Сохранение в заказе: Выбранная дата и время доставки сохраняются в таблице
ms_delivery_schedule_orders_timeдля каждого поставщика отдельно.
Где находится функциональность
- Административная панель:
- Настройки способов доставки с разделом "MS: Расписание доставки"
- Настройка расписания по дням недели
- Настройка ограничений (время до начала доставки, ограничение по дням)
- Отображение выбранной даты и времени доставки в заказе
- Витрина:
- Страница оформления заказа с календарем выбора даты доставки
- Отображение доступных временных интервалов для выбранной даты
Настройки способа доставки
- MS: Расписание доставки: Раздел настроек расписания
- Доступность в часах (
schedule_time): Количество часов до крайнего времени доставки, чтобы день был доступен для заказа - Ограничение в днях (
schedule_days): Количество дней вперед, на которое ограничивается календарь доставки - Расписание по дням недели: Настройка временных интервалов для каждого дня недели (например, "09:00 - 18:00")
- Отображать дату при оформлении заказа (
show_date_in_checkout): Показывать ли поле выбора даты - Отображать время при оформлении заказа (
show_time_in_checkout): Показывать ли поле выбора времени
Технические детали
- Модуль автоматически устанавливается в мультивендор и Ultimate редакции CS-Cart
- При установке выполняет миграции для добавления полей в таблицу способов доставки
- Создает таблицу
ms_delivery_schedule_orders_timeдля хранения выбранных дат и времени доставки - Поддерживает множественные временные интервалы для одного дня недели
- Интегрируется с модулем
suppliersдля работы с несколькими поставщиками в одном заказе
- Store Builder
- Store Builder Ultimate
- Multi-Vendor
- Multi-Vendor Plus
- Multi-Vendor Ultimate
- Владельцам
- Покупателям
- English
- Русский
- 4.18.X
- 4.17.X
- 4.16.X
- 4.15.X
- 4.14.X
- 4.13.X
- 4.12.X
- 4.11.X
- 4.10.X
Оформление подписки
Мы переходим на новую подписную систему, открывая для вас полный доступ ко всем нашим модулям. Подробную информацию об условиях подписки и часто задаваемых вопросах вы можете найти здесь.
Обратите внимание, что приобретение модулей по отдельности теперь недоступно — воспользоваться ими возможно исключительно в рамках подписки.
За единую стоимость подписки - 2000 руб/мес. Вы получаете доступ ко всем модулям.
Как оформить подписку у нас на сайте
Зарегистрируйтесь или авторизуйтесь на нашем сайте и выберите интересующий вас модуль
Нажмите кнопку Запросить триал доступ
Введите в поле URL сайта ваш домен в формате domain.com, без www и https://

Далее в личном кабинете в разделе загрузки вы сможете скачать нужный вам модуль и менеджер модулей для удобного управления модулями и оформления подписки.


Далее у вас есть 7 дней для тестирования выбранного модуля.
По истечении строка триала, для продолжения работы необходимо оплатить подписку.
Сделать это можно из менеджера модулей.
На выбор вы можете оплатить:
для зарубежных карт - PayPal
для РФ карт - Robokassa

Или на странице на сайте https://makeshop.pro/subscription/

При оплате нужно указать электронную почту с которой вы оформляли триал доступ.
При покупке на маркетплейсе CS-Cart
При покупке любого модуля зарубежной картой или картой РФ
Так как система при оформлении подписки не спрашивает дополнительных вопросов (на какой домен подписка оформляется) желательно вводить электронную почту ту же что и ваша учетная запись у нас на сайте (если она есть), тогда ваши учётки свяжутся между собой.
Выберите интересующий модуль и нажмите кнопку “Оформить подписку“

Далее после оплаты подписки вы сможете скачать модуль перейдя в раздел “Загрузки“, там выберите свой заказ и в нем будет ссылка на скачивание.

В дальнейшем, для получения новых модулей по подписке рекомендуем пользоваться нашим сайтом.
Всё что вам будет нужно сделать это на интересующем вас модуле (после авторизации) нажать кнопку “Запросить модуль по подписке“ и после одобрения скачать его в разделе загрузки.

Если что-то пойдет не так - проверьте выписалась ли лицензия

Найдите заказ с датой оформления подписки

Убедитесь что у вас прописался URL сайта в заказ

Если URL сайта неправильный и вам нужно обновить его: переходите в пункт меню “Мои модули”

Ищите модуль и проверьте URL магазина для которого выписана подписка

Установка модуля
После скачивания модуля, его установка производится штатными средствами CS-Cart на странице Панель администратора → Модули → Управление модулями → Загрузить и установить модуль (+).
Для версии CS-Cart более 4.13.1 Панель администратора → Модули → Управление модулями → Кнопка Шестеренка → Ручная установка.
Настройки модуля
Через панель администрирования: Администрирование → Доставки и налоги → Способы доставки, выбрать нужный способ доставки и прейти на вкладку [MS: Расписание доставки].
Настраиваемые параметры:
- Доступность в часах – указывает, сколько часов должно оставаться до крайнего времени доставки, чтобы день был доступен для заказа. Например, указана настройка 48 часов, это означает, что в течение указанных часов до ближайшего дня доставки, оформить заказ будет нельзя. Доступные дни заказа будут не ранее 48 часов с момента оформления заказа.
- Ограничение в днях – указывает, на сколько дней вперед ограничить доставку заказов. Например, 15 – доставка может быть заказана на период в ближайшие 15 дней, далее дни доставки в календаре не доступны.
- Часы доставки на каждый день недели – на каждый день доставки могут быть указаны интервалы доставки в часах. Если доставки в этот день нет, то поле не заполняется.
Отображение календаря доставки для клиента
На странице оформления заказа после способа доставки выводится поля с календарем и временем, где подсвечены доступные дни и время для доставки.
Отображение календаря для Администратора
Для администратора дата доставки отображается внизу на странице заказа.
**v1.5.0** [+] Добавлена возможность создавать несколько диапазонов времени на каждый день недели **v1.4.0** от 19.01.2026 [*] Приведены лицензирование, шаблоны и аннотации к стандарту **v1.3.3** [\*] Не сразу обновлялось поле времени после выбора даты, исправлено. **v1.3.2** от 14.08.2025 [\*] Настройки отображения полей даты и времени на витрине перенесены из настроек модуля в настройки доставки **v1.3.1** от 09.12.2024 [!] Изменен хук checkout_place_orders_pre_route на place_order_post (дата не сохранялась в бд при редиректе с чекаута) **v1.3.0** от 06.11.2024 [+] Добавлена совместимость с мультивендором и модулем "Поставщики" [+] Расширен возврат функции get_order_info (показывает дату для каждого поставщика) [\*] Стандартизация языковых переменных [!] Исправлена ошибка при вводе и сохранении данных во вкладке MS: Расписание доставки [!] Исправлены различные ошибки js, частично переписаны функции **v1.2.1** от 29.08.2023 [\*] Стандартизация языковых переменных [\*] Изменение иконки модуля **v1.2.0** от 14.08.2023 [\*] Добавление информации о времени доставки в заказах [\*] Стандартизация модуля [\*] Стандартизация логотипа компании [+] Добавлена иконка модуля [\*] Изменены короткие теги <? на обычные <?php **v1.1.0** от 01.07.2023 [+] Лицензирование и обновление модуля [\*] Изменен CHANGELOG.md [!] Способы доставки: Нельзя выбрать время в каждый день недели, исправлено [!] Способы доставки: Нельзя оставить время пустым полем, если не работает в определенные дни, исправлено [-] README.md, удален **v1.0.1** от 08.12.2020 [!] Исправлена ошибка js **v1.0.0** от 12.11.2020 [+] Первое издание *** [+] Добавлено [-] Удалено [\*] Изменено [!] Исправлена ошибка
Скрытие времени доставки и отображение времени в админке
Скрытие времени по чекбоксу, исправления бага отображения 1 времени для всех доставок, отображение времени в админ панели заказ
Добавление поля “Время доставки”
Добавить поля “Время доставки”
Ваш запрос отправлен!
Ваш запрос на доработку модуля отправлен в техническую поддержку. Мы изучим ваши пожелания и дадим обратную свзязь.
Вам придет уведомление на указанный Email.
Здесь можно поделиться своим мнением и оценить нашу работу.
Ваши отзывы помогают нам стать лучше и предлагать вам еще более качественный сервис.