Корзина пуста
MS: Исключить стоимость доставки из заказа
Описание
Модуль ms_exclude_shipping_costs позволяет исключать стоимость доставки из общей суммы заказа для выбранных способов доставки. Модуль пересчитывает общую сумму заказа и записывает стоимость доставки в примечание администратора. Это полезно для способов доставки с оплатой при получении.
Основные возможности
- Исключение стоимости доставки: Исключает стоимость доставки из общей суммы заказа для способов доставки с оплатой при получении
- Пересчет суммы заказа: Автоматически пересчитывает общую сумму заказа без учета доставки
- Сохранение информации: Сохраняет информацию о стоимости доставки в заказе для администратора
- Уведомления: Отображает уведомление покупателю о том, что доставка оплачивается при получении
Как работает модуль
Модуль использует следующие механизмы:
- База данных (
addon.xml): При установке модуль добавляет поля в таблицы:
ms_exclude_shipping_shipping_costв таблицуorders- стоимость доставкиms_exclude_shipping_total_priceв таблицуorders- общая сумма заказа с доставкойupon_receiptв таблицуshippings- флаг "Оплата при получении"
- Хуки расчета корзины (
hooks.func.php):
fn_ms_exclude_shipping_costs_calculate_cart()- вызывается при расчете корзины- Проверяет, включена ли опция "При получении" для выбранного способа доставки
- Если включена, исключает стоимость доставки из общей суммы заказа
- Сохраняет исходную стоимость доставки и общую сумму в переменных корзины
- Хук оформления заказа (
hooks.func.php):
fn_ms_exclude_shipping_costs_checkout_place_order_before_check_amount_in_stock()- вызывается перед оформлением заказа- Повторно проверяет и применяет исключение стоимости доставки
- Хук завершения заказа (
hooks.func.php):
fn_ms_exclude_shipping_costs_placement_routines()- вызывается после оформления заказа- Сохраняет стоимость доставки в поле
detailsзаказа - Отображает уведомление покупателю о приблизительной стоимости доставки
- Контроллер заказов (
controllers/frontend/orders.post.php):
- Режим
searchдобавляет информацию о стоимости доставки в список заказов
- Шаблон способа доставки (
design/backend/templates/addons/ms_exclude_shipping_costs/hooks/shippings/update.post.tpl):
- Добавляет чекбокс "При получении" в форму редактирования способа доставки
Где находится функциональность
- Административная панель:
- Форма редактирования способа доставки с чекбоксом "При получении"
- Информация о стоимости доставки в заказе (поле
details) - Витрина:
- Страница оформления заказа с пересчитанной суммой (без доставки)
- Уведомление покупателю о приблизительной стоимости доставки
- Страница заказов с информацией о стоимости доставки
Настройки способа доставки
В каждом способе доставки доступно поле:
- При получении (
upon_receipt): Если включено, стоимость доставки будет исключена из общей суммы заказа и оплачивается при получении
Технические детали
- Модуль автоматически устанавливается во всех редакциях CS-Cart
- При установке добавляет поля в таблицы
ordersиshippings - Работает на этапе расчета корзины и оформления заказа
- Сохраняет информацию о стоимости доставки для администратора
- Отображает уведомления покупателю о способе оплаты доставки