Что бы вывести минимальную и максимальную стоимость товаров, из каталога 1С-Битрикс, достаточно получить все товары методом CIBlockElement::GetList и загнать цены в массив
Получаем все товары каталога
Для начала получаем цены всех товаров каталога и загоняем их в массив $arPrices
$resPrice = CIBlockElement::GetList(
array(
"CATALOG_PRICE_2" => "ASC"
),
array(
"SECTION_ID" => $arResult['~ID']
),
false,
false,
array(
"CATALOG_PRICE_2"
)
);
while ($getPrices = $resPrice->Fetch()) {
$arPrices[] = $getPrices['CATALOG_PRICE_2'];
}
В параметре сортировки указали, что элементы должны выстроиться по нарастающей по параметру цены с кодом 2: "CATALOG_PRICE_2" => "ASC"
Если нужно по вывести цены в конкретном разделе каталога (или в каждом) размещаем этот код в section.php комплексного шаблона каталога и передаем в фильтр SECTION_ID - собственно ID раздела.
Что бы получить ID раздела (и прочую информацию), находясь в файле section.php можно воспользоваться заметкой Получить все поля раздела, включая пользовательские, в section.php
Получаем первый и последний элементы массива
Дальше все просто, обычным php получаем первый и последний элементы массива $arPrices. Соответственно, в первом элементе у нас минимальная цена, в последнем максимальная
Используем встроенные в php функции array_shift - извлекает первый элемент массива и array_pop - извлекает последний элемент массива
$minPrice = array_shift($arPrices);
$maxPrice = array_pop($arPrices);
Теперь, в переменных $minPrice и $maxPrice у нас минимальная и максимальная цена товара. Таким же образом, используя CIBlockElement::GetList можно получать и сортировать любую информацию о товарах.

Нужен метод CCatalogProduct::GetDiscountGroupList (инфа о скидках по ID товара)
Код |
---|
$resPrice = CIBlockElement::GetList( Array( "CATALOG_PRICE_2" => "ASC" ), Array( "SECTION_ID"=>$arResult['~ID'] ), false, false, Array( "ID", "CATALOG_PRICE_2" ) ); while($getPrices = $resPrice->Fetch()) { // Получение скидок ID текущего товара $discounts = CCatalogProduct::GetDiscountGroupList( $getPrices['ID'] ); // Получение информации о каждой скидке foreach ($discounts as $discount) { $discountInfo = CCatalogDiscount::GetByID( $discount['ID'] ); /* Здесь вычитаем скидку из цены товара */ } // // Если скидка есть, загоняем вычисленное значение в $arPrices[] // Иначе, просто $getPrices['CATALOG_PRICE_2'] } |
На деле может оказаться много зависимостей: скидка по периоду, скидка на количество и прочие условности скидки.
Нужно на конкретном проекте адаптироваться.