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


Фотография
* * * * * 1 Голосов

Бесплатная доставка при заказе от $property

рецепт jbzoo 220v - high voltage 220v shipping free shipping

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

#11 SmetDenis

SmetDenis

Отправлено 25 September 2015 - 13:57

Функцию включим в основную сборку позже, её нужно дополнительно обкатать.
Данные файлы должны подойти и для версии 2.2.1
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как моно скорее!


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


#12 myjob495

myjob495

Отправлено 28 September 2015 - 15:27

Для rev2942 не подошли.

 

В админке, при заходе на страницу "Электронная коммерция" ругается:

 

Fatal error: Call to undefined method JBCartElementShippingCourier::isValid() in /var/www/expadmin/data/www/vtaigu.ru/media/zoo/applications/jbuniversal/cart-elements/shipping/courier/courier.php on line 79


  • 0

#13 Михаил

Михаил

Отправлено 01 November 2015 - 09:57

Да, на 2997 не работает.

 

Хотелось бы получить какое то решение :(


  • 0

#14 zeus07

zeus07

Отправлено 01 November 2015 - 11:51

Да, поддерживаю. Был бы рад, чтобы подкорректировали элемент под последнюю версию


  • 0

#15 Михаил

Михаил

Отправлено 01 November 2015 - 13:00

Выкладываю рецепт. На скорую руку сбахал по аналогии по быстрому.

 

Задача стояла так. Необходимо сделать расчет доставки курьером по городу до 1000 рублей 500 рублей доставка. Свыше 1000 бесплатно.

 

Делал только для произвольной доставки (manual), но думаю по аналогии и с остальными.

 

Файл manual.xml

Добавляем между <params> и </params>:

<param name="rate2" type="text" default="0" label="Стоимость после границы" description="JBZOO_ELEMENT_SHIPPING_MANUAL_DESC"/>
<param name="stop" type="text" default="0" label="Граница доставки" description="JBZOO_ELEMENT_SHIPPING_MANUAL_DESC"/>

Тут мы добавили две опции. rate2 - стоимость доставки после суммы корзины и stop - граница доставки

 

Файл manual.php

Между class JBCartElementShippingManual extends JBCartElementShipping { и }

public function hasValue($params = array())
    {
        return true;
    }

public function getRate()
    {
	$orderSum = $this->_order->getTotalForItems(); // получили сумму за все товары (без доставки и прочего)
	$stop = $this->config->get('stop', '1000rub'); // здесь 1000 - это значение по умолчанию
		
		
        if ($orderSum->compare($stop, '<=')) { // сравниваем c границе
            return $this->_order->val($this->config->get('rate', 0)); // доставка до границы
        } else {
	   return $this->_order->val($this->config->get('rate2', 0)); // доставка от суммы свыше границы. 
	}
    }

Как результат. Если человек заказывает меньше 1000 рублей, то ему доставка 500 рублей. Если больше, то бесплатно. В корзине величина доставки считается.

 

Единственное не отказался бы от подсказки. Как сделать так, что сумма корзины допустим меньше 1000 рублей, то этот вид доставки бы вообще не выводился.

 

Работает на Joomla: 3.4.5 JBZoo: 2.2.2 Pro rev2997 Zoo: 3.3.9


Сообщение отредактировал Михаил: 01 November 2015 - 13:15

  • 4

#16 tapakan

tapakan

Отправлено 02 November 2015 - 10:14

public function hasValue($params = array())
    {
        return true;
    }

Единственное не отказался бы от подсказки. Как сделать так, что сумма корзины допустим меньше 1000 рублей, то этот вид доставки бы вообще не выводился.

 

Работает на Joomla: 3.4.5 JBZoo: 2.2.2 Pro rev2997 Zoo: 3.3.9

Здравствуйте. Проверяйте сумму корзины в методе hasValue и возвращайте true/false

Если hasValue возвращает false, метод render у элемента не вызывается.


Сообщение отредактировал tapakan: 02 November 2015 - 10:14

  • 2

#17 Михаил

Михаил

Отправлено 02 November 2015 - 10:34

Здравствуйте. Проверяйте сумму корзины в методе hasValue и возвращайте true/false

Если hasValue возвращает false, метод render у элемента не вызывается.

 

Все таки коллективный разум это очень хорошая вещь. Ходил около этого варианта и сам не додумался. Видимо со скидками сильно заморочился.

Спасибо.


  • 1

#18 myjob495

myjob495

Отправлено 02 November 2015 - 11:03

Одно лишь пожелание - хотелось бы видеть этот функционал в коробке в ближайшем обновлении.

 

Спасибо.


  • 0

#19 laRus

laRus

Отправлено 03 November 2015 - 13:07

Михаилtapakan, спасибо!
  • 0
..minimum effort for maximum effect? - Oh yeah! It's good!..

#20 zeus07

zeus07

Отправлено 03 November 2015 - 13:10

Также присоединяюсь к Ursa. Ребят, спасибо за доработку, очень нужная вещь.


  • 1





Темы с аналогичным тегами рецепт, jbzoo 220v - high voltage, 220v, shipping, free shipping

Click to return to top of page in style!