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


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

Сделать скидку в зависимости от способа доставки

скидка скидка от способа доставки доставка

Сообщений в теме: 4

#1 zerxx

zerxx

Отправлено 20 March 2016 - 11:17

Добрый день

 

Задача сделать 2 способа доставки - "доставка курьером" и "самовывоз".

Доставка курьером уже входит в стоимость товара, поэтому бесплатна.

А при самовывозе на заказа должна делаться скидка 15%.

 

soul.jpg

 

Полагаю что реализовать это можно элеметном модификатора цены заказа по аналогии с

http://forum.jbzoo.c...delennoj-summy/

 

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

 

Нид хелп =)


  • 0

#2 CB9TOIIIA

CB9TOIIIA

Отправлено 20 March 2016 - 12:50

У заказа много разных  элементов (их типов).
$order->getItems(); // список товаров и их свойства при покупке
$order->getFieldElement('ELEMENT_ID'); // поле заказа
$order->getShippingFieldElement('ELEMENT_ID'); // поле доставки
Все методы тут media\zoo\applications\jbuniversal\framework\classes\cart\jborder.php
 
Элементы в заказе такие же как в типе материала, т.е можно сделать ->data() и брать то что хочется.

Сообщение отредактировал CB9TOIIIA: 20 March 2016 - 12:51

  • 1

#3 zerxx

zerxx

Отправлено 20 March 2016 - 18:06

У заказа много разных  элементов (их типов).

$order->getItems(); // список товаров и их свойства при покупке
$order->getFieldElement('ELEMENT_ID'); // поле заказа
$order->getShippingFieldElement('ELEMENT_ID'); // поле доставки
Все методы тут media\zoo\applications\jbuniversal\framework\classes\cart\jborder.php
 
Элементы в заказе такие же как в типе материала, т.е можно сделать ->data() и брать то что хочется.

 

 

Копипаст это здорово, но от того не легче.

Похоже что нужно использовать getShippingElement, только что с ним дальше делать? Не получается вытащить текущий выбранный способ доставки


  • 0

#4 SmetDenis

SmetDenis

Отправлено 21 March 2016 - 11:05

К сожалению, готового решения для вас нет.

 

Думаю вам стоит прочитать эти темы

http://forum.jbzoo.c...aze-ot-property

http://forum.jbzoo.c...ki-v-jbzoo-220/

 

$shipping = $this->_order->getShippingElement(); вернет объект элемента доставки из заказа
$id = $shipping->identifier; // уникальный идентификатор
$type = $shipping->getElementType(); // тип элемента

 

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


  • 1
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



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


#5 zerxx

zerxx

Отправлено 22 March 2016 - 06:23

К сожалению, готового решения для вас нет.

 

Думаю вам стоит прочитать эти темы

http://forum.jbzoo.c...aze-ot-property

http://forum.jbzoo.c...ki-v-jbzoo-220/

 

 

Похоже что так, ознакомлюсь, спасибо.

В крайнем случае подходит вариант с бесплатной доставкой от определенной суммы

http://forum.jbzoo.c...visimosti-ot-s/


  • 0





Темы с аналогичным тегами скидка, скидка от способа доставки, доставка

Click to return to top of page in style!