Алексей Дерипаско
8 мар. 2015 г., 11:11

Выборка максимальной и минимальной цены

Здравствуйте. Пытаюсь в каталоге на shopmodx сделать фильтр с выборкой по цене. И совсем не понимаю как получить минимальную и максимальную цену.
Здравствуйте. Очень хороший вопрос! Тут просто так не сделать, много подводных камней :) К тому же важно учитывать условия поиска товаров и прочее, чтобы не дублировать код. Вот вам процессор готовый: gist.github.com/Fi1osof/3dd7659fb9afd42d491f Расширьте им базовый процессор получения товаров и вызывайте его. На выходе получите ответ типа
Array ( [success] => 1 [message] => [count] => 1 [total] => 13 [limit] => 1 [page] => 0 [object] => Array ( [object_id] => [min_price] => 23500 [max_price] => 23500 [tvs] => Array ( ) ) )
В ответе total будет содержать количество всех найденных товаров, цены которых учитываются. Данный процессор не все моменты учитывает (особенно он потребует доработки в случае если у вас мультивалютный каталог), но на стандартном каталоге его будет более чем достаточно и даже будут учитываться передаваемые фильтры поиска.
Думаю, доработанный процессор можно было бы и в ядро запилить…
Николай, спасибо за ответ! Но есть проблема, процессор выводит одну и туже неизменную цифру 23500 как и у вас в примере.
Да, действительно, я проперся с добавлением current => true :) Хотел, чтобы ответ был не многоуровневым массивом, а сразу данные цен, а current добавляет условие limit => 1. Переделал. Процессор актуализировал. Проверяйте.
Ну и замечательно :)

Добавить комментарий