@vardoLP
Ват ю сэй эбаут май мама?!

Как вывести сумму с учетом скидки Битрикс?

Ребят, срочно нужна помощь. Вывожу нужные мне товары через getlist. В админке для этих товаров применяются скидки. Сейчас выводятся обычные цены. Как мне вывести уже со скидкой цены в карточки? Не могу понять.

сам код
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetTitle("Каталог товаров");
?>

<div class="cat-tork"><?
$arSelect = Array("*", "CATALOG_GROUP_24", "PROPERTY_CML2_ARTICLE");
if ( CSite::InGroup( array(12,13,14) ) ) {
	$arFilter = Array("IBLOCK_ID"=>59, "IBLOCK_TYPE" => "1c_catalog", "ID"=>array(121990, 124159,133627,132686,124163,133612,126599,137535,121988,123239,121978), "ACTIVE"=>"Y");
}
if ( CSite::InGroup( array(15) ) ) {
	$arFilter = Array("IBLOCK_ID"=>59, "IBLOCK_TYPE" => "1c_catalog", "ID"=>array(121990, 126599, 121988, 123239, 133627, 124159, 124163, 121978,127680), "ACTIVE"=>"Y");
}

$res = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect);
while($ob = $res->GetNextElement())
{
	
	$arFields = $ob->GetFields();
	$PREVIEW_PICTURE = CFile::GetPath($arFields["PREVIEW_PICTURE"]);
	//echo "<pre>"; print_r($ob); echo "</pre>";
	//echo "<pre>"; print_r($PREVIEW_PICTURE); echo "</pre>";
	?>
	<div class="cat-element">
		<div class="cat-img-prev">
			<img src="<?=$PREVIEW_PICTURE; ?>" alt="" />
		</div>
		<div class="cat-name">
			<?=$arFields["NAME"];?>
		</div>
		<div class="cat-articul">
			<b>Артикул: </b> <?=$arFields["PROPERTY_CML2_ARTICLE_VALUE"];?>
		</div>
		<div class="cat-price">
			<? echo $arFields["CATALOG_PRICE_24"];?> руб.
		</div>
		<form action="" method="post" class="add-bsk">
			<input type="hidden" name="productname" value="<?=$arFields["NAME"]?>" />
			<input type="hidden" name="productprice" value="<?=$arFields["CATALOG_PRICE_24"]?>" />
			<input type="hidden" name="productid" value="<?=$arFields["ID"]?>" />
			<button type="submit" class="add-bsk single-button">В корзину</button>
		</form>
	</div>
	<?
}
?></div>

<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>
  • Вопрос задан
  • 2571 просмотр
Решения вопроса 1
@jasper-blondin
// это цена
$dbPrice = \CPrice::GetList(
	array(),
	array(
		"PRODUCT_ID" => $PRODUCT_ID,
		"CATALOG_GROUP_ID" => $PERSON_TYPE_ID
	)
);
$arPrice = $dbPrice->Fetch();
$price = $arPrice["PRICE"];

// это список доступных скидок
$arDiscounts = \CCatalogDiscount::GetDiscountByProduct(
    $PRODUCT_ID,
    $USER->GetUserGroupArray(),
    "N",
    $PERSON_TYPE_ID,
    SITE_ID
);
if($arDiscounts !== false) {
	$price = \CCatalogProduct::CountPriceWithDiscount(
	    $arPrice["PRICE"],
	    $arPrice["CURRENCY"],
	    $arDiscounts
	);
}

// в переменной $price будет цена с учетом скидок
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
paulmann
@paulmann
Путешествую, увлекаюсь программированием
Этот код работает для простых правил расчета скидки. Как его модифицировать для скидок на товар, которые рассчитываются исходя из комбинации товаров в корзине?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы