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

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

Пытаюсь в каталоге на shopmodx сделать фильтр с выборкой по цене. И совсем не понимаю как получить минимальную и максимальную цену.

Comments

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

Очень хороший вопрос! Тут просто так не сделать, много подводных камней :) К тому же важно учитывать условия поиска товаров и прочее, чтобы не дублировать код.

Вот вам процессор готовый: 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. Переделал. Процессор актуализировал. Проверяйте.