Перейти к содержимому


Фотография
- - - - -

Изменить стоимость всего заказа от выбранного способа доставки?

корзина стоимость модификаторы цены доставка цена доставка

Лучший Ответ Михаил , 08 March 2016 - 07:20

Вот ссылочка на рецепт.

Задача практически точь в точь как у вас.

http://forum.jbzoo.c...operty/?p=75893

Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 5

#1 udjin

udjin

Отправлено 04 March 2016 - 15:32

День добрый!
Ситуация следующая: есть два способа доставки - по Москве (150р) и по МО (400р). Необходимо сделать так:

По Москве - 150 рублей до суммы заказа 1500 рублей, после 1500р. - бесплатно.
По МО - 400 рублей до суммы 4000 рублей, после 4000 рублей - бесплатно.

То есть человек выбирает способ доставки "по Москве", если стоимость всего заказа выше 1500 рублей, стоимость доставки меняется на "Бесплатно" или "0руб."

То же самое и для МО. Человек выбрал способ доставки "по МО", если сумма ниже или равна 4000р - то доставка 400р, а если выше 4000р. - то бесплатно или 0р. 

Как это реализовать? 

 

Версии компонентов:
Joomla: 3.4.8 JBZoo: 2.2.5 Pro rev3095 Zoo: 3.3.15 WidgetKit: 2.5.3


  • 0

#2 SmetDenis

SmetDenis

Отправлено 04 March 2016 - 16:08


Есть два способа решить задачу
- сделать отдельный элемент доставки (форк текущего), который будет внутри функции getRate() учитывать особенности заказа.
- либо сделать модификатор цены заказа.

Принцип работы обоих элементов очень сильно схож. Прочитать можно тут
http://forum.jbzoo.c...ki-v-jbzoo-220/
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#3 udjin

udjin

Отправлено 04 March 2016 - 16:16

Я понимаю. Ознакомился, но:

 

 

Ёшкин Кот сказал(а) 12 Ноя 2015 - 14:00:

snapback.png

А вот как достучаться из этого самого элемента до стоимости доставки. могу ли я вместо скидки на окончательную стоимость обнулить стоимость доставки?

 

К такому жизнь меня не готовила... Хотя функция выглядит заманчиво.

 

Теоретически сделать так можно, но только если доставка будет иметь какое-то средство манипулации. Готовых функций во фреймворке не предусмотрено.

 

Либо, можно внутри доставки проверять условие из другого элемента.

 

Доступ к цене доставки можно получить только на чтение

 

  •  
  •  
  •  
  •  
  1. $price = $this->_order->getShippingPrice();

 

У класса JBCartOrder есть масса других методов, по больше части все на чтение внутреннего состояния заказа.

 

 

Вы написали что 
 

 

 

Доступ к цене доставки можно получить только на чтение

То есть обнулить стоимость доставки при достижении лимита не получится. Это ещё не считая того, что невозможно связать способ доставки и его стоимость со стоимостью всего заказа, так? Потому что 
 

 

 

Теоретически сделать так можно, но только если доставка будет иметь какое-то средство манипулации. Готовых функций во фреймворке не предусмотрено.

Сообщение отредактировал udjin: 04 March 2016 - 16:24

  • 0

#4 udjin

udjin

Отправлено 07 March 2016 - 19:53

Anyone?


  • 0

#5 Михаил

Михаил

Отправлено 08 March 2016 - 07:20   Лучший Ответ

Вот ссылочка на рецепт.

Задача практически точь в точь как у вас.

http://forum.jbzoo.c...operty/?p=75893


  • 2

#6 udjin

udjin

Отправлено 08 March 2016 - 17:27

А вот за это спасибо, не нашёл на форуме.


  • 0





Темы с аналогичным тегами корзина, стоимость, модификаторы цены, доставка цена, доставка

Click to return to top of page in style!