Выборка максимальной и минимальной цены
Здравствуйте.
Пытаюсь в каталоге на shopmodx сделать фильтр с выборкой по цене. И совсем не понимаю как получить минимальную и максимальную цену.
Здравствуйте.
Пытаюсь в каталоге на 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. Переделал. Процессор актуализировал. Проверяйте.
Спасибо, работает.
Ну и замечательно :)