@lynnikvadim

Как получить минимальную и максимальную цену из всего каталога битрикс?

Как получить минимальную и максимальную цену из всего каталога битрикс ?
  • Вопрос задан
  • 3243 просмотра
Пригласить эксперта
Ответы на вопрос 3
@isa3v
Ответ написан
Комментировать
Можно так сделать.
// Получение основного типа цены
$arCatalogGroup = \Bitrix\Catalog\GroupTable::getList(array(
    'filter' => array("BASE" => "Y")
))->fetch();

if (isset($arCatalogGroup["ID"]) && !empty($arCatalogGroup["ID"])) {
    // Получение товара с минимальной ценой
    $arMinPriceProduct = CIBlockElement::GetList(
        Array('CATALOG_PRICE_'.$arCatalogGroup["ID"] => 'ASC'),
        Array(
            'IBLOCK_ID' => $arParams["IBLOCK_ID"],
            'SECTION_ID' => $arResult["VARIABLES"]["SECTION_ID"]
        ),
        false,
        Array('nTopCount' => 1),
        Array('ID', 'CATALOG_PRICE_'.$arCatalogGroup["ID"])
    )->Fetch();

    // Получение товара с максимальной ценой
    $arMaxPriceProduct = CIBlockElement::GetList(
        Array('CATALOG_PRICE_'.$arCatalogGroup["ID"] => 'DESC'),
        Array(
            'IBLOCK_ID' => $arParams["IBLOCK_ID"],
            'SECTION_ID' => $arResult["VARIABLES"]["SECTION_ID"]
        ),
        false,
        Array('nTopCount' => 1),
        Array('ID', 'CATALOG_PRICE_'.$arCatalogGroup["ID"])
    )->Fetch();


    $arSectionPriceRange = array(
        "MIN" => array(
            "PRICE" => $arMinPriceProduct["CATALOG_PRICE_".$arCatalogGroup["ID"]],
            "CURRENCY" => $arMinPriceProduct["CATALOG_CURRENCY_".$arCatalogGroup["ID"]],
        ),
        "MAX" => array(
            "PRICE" => $arMaxPriceProduct["CATALOG_PRICE_".$arCatalogGroup["ID"]],
            "CURRENCY" => $arMaxPriceProduct["CATALOG_CURRENCY_".$arCatalogGroup["ID"]],
        )
    );
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы