miniShop2 DeliveryHandler
Помогите разобраться, пожалуйста.
Задача: добавить свою цену доставки к цене корзины. Чтобы потом отправить на оплату.
Создал расширение класса
core/components/minishop2/custom/delivery/mscustomorderhandler.class.php
возращаю цену + цену за доставку, но сама цена доставки не прибавляется к цене корзины, а отнимается от цены корзины и переносится к цене доставки.
Не уверен, что понятно объясняю…
Вообщем, пример.
Товаров в корзине на 5000 рублей. Цена доставки — 300 рублей.
По идее в письме менеджеру должно приходить письмо с надписью.
Итого, с доставкой: 5 000 руб. + 300 руб. = 5 300 руб.
А приходит…
Итого, с доставкой: 4 700 руб. + 300 руб. = 5 000 руб.
Не очень понимаю, почему так. Можете подсказать?
Задача: добавить свою цену доставки к цене корзины. Чтобы потом отправить на оплату.
Создал расширение класса
core/components/minishop2/custom/delivery/mscustomorderhandler.class.php
возращаю цену + цену за доставку, но сама цена доставки не прибавляется к цене корзины, а отнимается от цены корзины и переносится к цене доставки.
Не уверен, что понятно объясняю…
Вообщем, пример.
Товаров в корзине на 5000 рублей. Цена доставки — 300 рублей.
По идее в письме менеджеру должно приходить письмо с надписью.
Итого, с доставкой: 5 000 руб. + 300 руб. = 5 300 руб.
А приходит…
Итого, с доставкой: 4 700 руб. + 300 руб. = 5 000 руб.
Не очень понимаю, почему так. Можете подсказать?
Комментарии: 3
Код бы конечно глянуть, как ты там расширил
<?php
if(!class_exists('msDeliveryInterface')) {
require_once dirname(dirname(dirname(__FILE__))) . '/model/minishop2/msdeliveryhandler.class.php';
}
class msDeliveryHandlerMsk extends msDeliveryHandler implements msDeliveryInterface{
public function getCost(msOrderInterface $order, msDelivery $delivery, $cost = 0) {
$delivery_cost = $_SESSION["delivery"];
unset($_SESSION["delivery"]);
$cost += $delivery_cost;
return $cost;
}
}
В сессии хранится цена доставки (по другому не придумал как передавать цену).По итогу все работает, только вот цена доставки вычитается из цены корзины.
А если заменить $_SESSION[«delivery»] на статичное число — все работает нормально.
Но я не очень понимаю
Как получается моя ошибка с сессиями.
Как по другому передать цену за доставку, если она высчитывается отдельным сервисом.
К слову, если нужно уточнить, в сессию цена попадает после того как пользователь выбрал пункт самовывоза или доставку курьером, после этого через ajax в сессию записывается цена за доставку.
Но я не очень понимаю
Как получается моя ошибка с сессиями.
Как по другому передать цену за доставку, если она высчитывается отдельным сервисом.
К слову, если нужно уточнить, в сессию цена попадает после того как пользователь выбрал пункт самовывоза или доставку курьером, после этого через ajax в сессию записывается цена за доставку.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.