Jump to content


Photo
- - - - -

Наценка на товар в зависимости от суммы заказа


5 replies to this topic

#1 isay777

isay777
  • JBZoo User (rus)
  • User rate: 113.4
  • posts: 1878
  • topics: 232

Posted 11 January 2017 - 19:54

Добрый день, всем. 

 

И так ситуация дурацкая. Есть наценка от суммы заказа.  И всё работает по рецепту Дениса с гитхаба mydiscount 

К итоговой цене прибавляется наценка. 

 

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

Но элементы скидки-наценки на товар не умеют считать сумму заказа. Во всяком случае  я в getrate не смог их заставить считать сумму заказа. 

 

Может есть легче способ вывести наценку в цену товара в корзине? 

 

Основная проблема в том что товар стоит 100р , но весь заказ имеет наценку, а товар визуально так и стоит 100р. 

У клиентов непонятки, звонят ругаются... 

 

 

 

 

 


  • 0
ХОСТИНГ для сайтов jbzoo (все попугаи)

#2 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 12 January 2017 - 04:54

Теоретически сделать можно.

 

Как я понял, можно решить это с помощью поля наценки внутри цены, и это значение вывести в самой корзине отдельным столбцом?

Верно я понял задачу?


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



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


#3 isay777

isay777
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 113.4
  • posts: 1878
  • topics: 232

Posted 12 January 2017 - 08:30

Теоретически сделать можно.

 

Как я понял, можно решить это с помощью поля наценки внутри цены, и это значение вывести в самой корзине отдельным столбцом?

Верно я понял задачу?

 

Да все верно. 

поле наценки на товар, которая зависит от СУММЫ заказа. В этом и есть моя проблема. 

 

PS только не хочется заполнять для каждого товара в карточке. А хочется ко всем товарам сразу. 


Edited by isay777, 12 January 2017 - 08:54.

  • 0
ХОСТИНГ для сайтов jbzoo (все попугаи)

#4 isay777

isay777
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 113.4
  • posts: 1878
  • topics: 232

Posted 12 January 2017 - 22:53

Решил нарисовать что хочется в идеале. 

Я так понимаю мне отлично подходит наценка на товар. Но мне нужно не от количество товара а от общей суммы заказа.

 

 

Attached Thumbnails

  • 2017-01-13_00-49-45.png

  • 0
ХОСТИНГ для сайтов jbzoo (все попугаи)

#5 isay777

isay777
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 113.4
  • posts: 1878
  • topics: 232

Posted 12 January 2017 - 23:30

Я почти сделал сам, но есть проблемки. 

// no direct access
defined('_JEXEC') or die('Restricted access');

/**
 * Class JBCartElementModifierItemMyCustom
 */
class JBCartElementModifierItemPriceMycustom extends JBCartElementModifierItemPrice
{
    
    
    public function getRate()
    {
        $orderSum = $this->_order->getTotalForItems(); // получили сумму за все товары (без доставки и прочего)
        $discount = 0;

        if ($orderSum->compare($this->config->get('limit', 1000), '<=')) { // сравниваем c суммой из настроек
            $discount = $this->config->get('rate', 0);
        }

        
        return $this->_order->val($discount)->positive();
    }
    
    

}

Проблема самая главная, во всех товарах теперь цена с наценкой отображается при любом раскладе... 

 

А еще она не обновляется при пересчете в корзине. 

 

 

https://yadi.sk/i/zi8-Kb7b38gjin


  • 1
ХОСТИНГ для сайтов jbzoo (все попугаи)

#6 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 13 January 2017 - 05:41

Да, я понял, посмотрел код, вспомнил как это работает :)

 

Чтобы обновлялось через в корзине на лету, придется написать хитрый хак, чтобы корзина добавила а ajax ответ необходимые данные.

В целом задача получается довольно простой, но довольно не тривиальной.

 

Конечно могу объяснить как это сделать, но будет долго муторно и скорее всего не учту мелочи.

Я предлагаю поступить проще - отправляй временный ftp доступ и панель управления, я на выходных сделаю тебе этот хак.


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



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





Click to return to top of page in style!