-
Vadim TsukanovРазработчик
-
Дата публикации25.01.2020
-
Категория1С-Битрикс
Задача:Получить для каждого раздела минимальную или максимальную цену товара
На карточках категорий, очень часто пишут «Цена от:», т.е. в категории представлены товары с такой-то минимальной ценой. Как же сделать получить минимальную цену товара в битриксе?
Все манипуляции я проделываю в файле result_modifier.php компонента, чтобы не захламлять template.php
foreach ($arResult['SECTIONS'] as $key => $SECTION) {
$rsProducts = CIBlockElement::GetList(
Array('CATALOG_PRICE_2' => 'ASC'),
Array('IBLOCK_ID' => $SECTION['IBLOCK_ID'], 'SECTION_ID' => $SECTION['ID']),
false,
Array('nTopCount' => 1),
Array('IBLOCK_ID', 'ID', 'NAME', 'CATALOG_PRICE_2')
);
$ob = $rsProducts->Fetch();
$min_price=floor($ob['CATALOG_PRICE_2']);
$arResult['SECTIONS'][$key]['MINIMAL_PRICE'] = $min_price;
}
CATALOG_PRICE_2 — вместо 2 вы должны указать ID типа цены, для которой ищите минимальную цену.
Если вникнуть, то становится понятно, что максимальную цену для товара в категории можно получить, использовав этот же код, поменяв сортировку по полю CATALOG_PRICE_%ID_PRICE_TYPE% с ASC на DESC
В шаблоне нам остается только вызвать элемент массива MINIMAL_PRICE