miniShop2 - разделение цены в tpl.msOrder
Добрый день!
В корзине выводится общая стоимость заказа в которой включена и доставка. Как разделить эти суммы?
К примеру:
Сумма заказа: 1.000 руб.
Доставка: 300 руб.
Итого, с доставкой: 1.300 руб.
Спасибо!
В корзине выводится общая стоимость заказа в которой включена и доставка. Как разделить эти суммы?
К примеру:
Сумма заказа: 1.000 руб.
Доставка: 300 руб.
Итого, с доставкой: 1.300 руб.
Спасибо!
Комментарии: 13
Роман, загляните в чанк tpl.msEmail и вы увидите, что в этом шаблоне есть 2 переменные: $total.cart_cost и $total.delivery_cost. Там есть условие, при котором, в случае $total.delivery_cost != 0 вывести их сумму. Измените вывод просто на две строчки подряд и вуаля) joxi.ru/Y2LMQo9C9OyNpA
Не отрабатывает условие, у меня пусто!
Оно не будет отрабатывать — это почтовое событие, или я что то не понял!
Мне нужно это вывести в чанке tpl.msOrder
Оно не будет отрабатывать — это почтовое событие, или я что то не понял!
Мне нужно это вывести в чанке tpl.msOrder
да, прошу прощения, не туда посмотрел. Но тут аналогично, только в чанке tpl.msOrder. Вместо $order.cost ставить
$order.cart_cost и $order.delivery_cost
$order.cart_cost и $order.delivery_cost
Вы пробовали это сами, у вас работает?
Это не будет работать. Стоимость доставки минишоп определяет после оформления. Если вам надо определить стоимость доставки, то у объекта msDelivery есть метод getCost куда передается экземпляр корзины. Напишите свой сниппет и дергайте его по аяксу на событие изменения доставки
Как пример — мой компонент который как раз именно таким образом и работает:
modstore.pro/packages/delivery/ms2deliverycost
modstore.pro/packages/delivery/ms2deliverycost
Поступил немного проще. Повесил на JS событие которое скрывает лишнее
Если выбрать доставку, то показываться: Итого, с доставкой
Если выбрать самовывоз, то показываться: Итого
Пока для этого проекта хватит, будет расширяться, будем думать!
Если выбрать доставку, то показываться: Итого, с доставкой
Если выбрать самовывоз, то показываться: Итого
Пока для этого проекта хватит, будет расширяться, будем думать!
Уважаемый разработчик.
Вы могли бы подсказать, как работает Ваше дополнение для описанной задачи?
В описании к дополнению сказано — «Также компонент умеет рассчитывать как цену только доставки, так и цену всего заказа учитывая стоимость заказа», но о том как это сделать, ни слова.
Вы могли бы подсказать, как работает Ваше дополнение для описанной задачи?
В описании к дополнению сказано — «Также компонент умеет рассчитывать как цену только доставки, так и цену всего заказа учитывая стоимость заказа», но о том как это сделать, ни слова.
Вы к кому обращаетесь?
Решения из коробки нет, я лично использовал костыль, опять же нашел его тут же.
Решения из коробки нет, я лично использовал костыль, опять же нашел его тут же.
Я обращался к Павлу Зарубину, потому как он указал на свое дополнение.
А Вы могли бы поделиться своим «костылем», каким образом это реализовано?
А Вы могли бы поделиться своим «костылем», каким образом это реализовано?
Поищите тут на сайте, в какой то из тем про цену нашел — уже не вспомню. Сайт отдан заказчику, там тоже посмотреть нет возможности.
Можно написать кастомный класс, расширяющий msOrder, переопределив в нем функцию getCost так, что бы она возвращала массив из двух значений: $cost и $delivery_cost. В дефолтном классе функция возвращает array['cost' => $cost_value]. Но придется дописать пару строчек в default.js, что бы значение стоимости доставки менялось в соответствующем контейнере tpl. Плюс хорошо бы дописать строчку в сниппет msOrder, хотя с работающим JS это не обязательно. Вот только с регистрацией кастомного класса надо будет поколдовать. У меня не получилось зарегить его по инструкции через ms2_services. Пришлось менять на него дефолтный класс в ms2_order_handler_class.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.