Получение минимальной/максимальной цены товаров в разделе Bitrix

  • 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

Еще нет коммментариев. Будь первым!

Оформить заказ в Devstages