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


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

глюкс с фильтром по цене


Лучший Ответ SmetDenis , 28 April 2014 - 16:55

Поиск по ценам реализован в этом файле

media\zoo\applications\jbuniversal\framework\models\jbmodel.element.jbpriceadvance.php

 

Если посмотрите, то там уже есть округление floor и ceil (в меньшую и большую сторону).

 

Для виджета фильтра можно добавить такие две строки

media\zoo\applications\jbuniversal\framework\render\filter\element.jbpriceadvance.php

29t_200x0.png

            $params['min'] = floor($params['min']);
            $params['max'] = ceil($params['max']);
Перейти к сообщению


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

#1 B_A_H_O

B_A_H_O

Отправлено 25 April 2014 - 15:36

Здравствуйте!

Заметил такую проблему, нуждаюсь в её решении.

Проблема касается самого дорогого и самого дешевого товаров.

http://vdrive.com.ua...ipirovka/shlemy

Вот категория с товарами, фильтры не применялись. Обращаем внимание на товар в рамке. Мин. цена в фильтре соответствует цене товара.

7hWXOh.jpg

 

Далее применяем фильтр, и шлем за 281 грн. не попадает в этот фильтр, хотя должен.

7hX0AH.jpg

 

 

Причина вот в чем. Цена товара указана в долларах, 24$. Курс доллара на сайте 11.7 грн. Получаем, 24*11.7=280.8 грн. Если округлить, что получится 281 грн., как везде и пишется.

Далее, при применении фильтра, в примере это по марке, учитываются ещё и значение со слайдера цены. И вот тут почему-то фильтр учитывает цену не округленную, 281 грн., а реальную, 280.8 грн. И, получается вот что: 280.8 < 281, поэтому товар не попадает в результаты поиска по фильтру.

Тоже самое было с самым дорогим товаром. Его цена была на 10 копеек выше круглого числа, поэтому фильтр тоже не хотел брать в результаты этот товар. Это точно, поскольку если подогнать цену или вручную поставить min. и max. фильтра на единицу меньше и больше соответственно, то все будет хорошо.

 

Где что нужно изменить, чтобы цена округлялась везде по системе, или чтобы фильтр учитывал уже округленную цену ?

Или есть другие пути решения?


  • 0

#2 SmetDenis

SmetDenis

Отправлено 28 April 2014 - 16:55   Лучший Ответ

Поиск по ценам реализован в этом файле

media\zoo\applications\jbuniversal\framework\models\jbmodel.element.jbpriceadvance.php

 

Если посмотрите, то там уже есть округление floor и ceil (в меньшую и большую сторону).

 

Для виджета фильтра можно добавить такие две строки

media\zoo\applications\jbuniversal\framework\render\filter\element.jbpriceadvance.php

29t_200x0.png

            $params['min'] = floor($params['min']);
            $params['max'] = ceil($params['max']);

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



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


#3 B_A_H_O

B_A_H_O

Отправлено 29 April 2014 - 19:15

Сделал, не помогает.


  • 0

#4 B_A_H_O

B_A_H_O

Отправлено 30 April 2014 - 11:49

может есть ещё какое-то решение?

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


  • 0

#5 SmetDenis

SmetDenis

Отправлено 01 May 2014 - 08:12

Дайте пожалуйста временный доступ ftp к вашему сайту.


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



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


#6 B_A_H_O

B_A_H_O

Отправлено 01 May 2014 - 08:14

скидываю в личку


  • 0




Click to return to top of page in style!