Возвращение минимальной цены товара по торговому предложению Битрикс

Автор:Alex

Возвращение минимальной цены товара по торговому предложению Битрикс

Функцию можно добавить в init.php и получить минимальную цену любого товара.

CModule::IncludeModule('catalog');
function GetOfferMinPrice($IBLOCK_ID,$item_id){
	// получаем все торг. предложения
	$arSKU = CCatalogSKU::getOffersList($item_id, $IBLOCK_ID, array('ACTIVE' => 'Y'), array(), array());	
	// Если у товара есть торговые предложения
	if(count($arSKU)>0){
		$arr_price = array();
		foreach($arSKU as $item_s)
		{
		  foreach($item_s as $item_sku)
		  {
			// получаем цену, где 1 - тип цены
			$ret_sku = GetCatalogProductPrice($item_sku['ID'], 1);
			  if ($ret_sku['PRICE']){
				$arr_price[] = ceil($ret_sku['PRICE']);
			  }		
		  }
		}
	$itog_price_sku = min($arr_price);
	} else {
		$ret_sku = GetCatalogProductPrice($item_id, 1);
		if ($ret_sku['PRICE']){
			$itog_price_sku = ceil($ret_sku['PRICE']);
		}
	}
 
	return $itog_price_sku;
}

где, $IBLOCK_ID — ид инфоблока ,$item_id — ид товара с торговыми предложениями, если тп нет — вернет цену товара.
Пример вызова:

GetOfferMinPrice(2,10);

Об авторе

Alex administrator

Оставить ответ

Enter the text from the image below