Всем добрый вечер. Использую Битрикс версии 12.5.1.
Собственно в нем есть компонент, выводящий товары каталога на странице раздела в виде превью. Сейчас компонент работает так: проверяет, есть ли у товара торговые предложения (в дальнейшем ТП), и если они есть, берет из массива ТП минимальную цену и показывает ее. Если ТП нет, то он берет цену из самой карточки товара.
Все бы хорошо, но если назначить на группу товаров скидку, то у товаров с ТП показывается только минимальная цена получаемая в результате скидки, а вот у товаров без ТП выводится старая цена (перечеркнутая) и новая со скидкой.
Как я понял в меру своих возможностей, за вывод цен в компоненте отвечает этот кусок кода:
Код |
---|
<div class="buy">
<?if(is_array($arElement["OFFERS"]) && !empty($arElement["OFFERS"])) // Product has offers
{
if ($arElement["MIN_PRODUCT_OFFER_PRICE"] > 0):
?>
<div class="price">
<span class="item_price"><?if (count($arElement["OFFERS"]) > 1) echo GetMessage("CATALOG_PRICE_FROM")?>
<?=$arElement["MIN_PRODUCT_OFFER_PRICE_PRINT"];?></span>
</div>
<?endif;?>
<a href="jav * ascript:void(0)" class="buy_button bt3 addtoCart" id="catalog_add2cart_offer_link_<?=$arElement['ID']?>" oncl ick="return showOfferPopup(this, 'list', '<?=GetMessage("CATALOG_IN_CART")?>', <?=CUtil::PhpToJsObject($arElement["SKU_ELEMENTS"])?>, <?=CUtil::PhpToJsObject($arElement["SKU_PROPERTIES"])?>, <?=CUtil::PhpToJsObject($arResult["POPUP_MESS"])?>, 'cart');"><?echo GetMessage("CATALOG_BUY")?></a>
<?
}
else // Product doesn't have offers
{
$numPrices = count($arParams["PRICE_CODE"]);
foreach($arElement["PRICES"] as $code=>$arPrice):?>
<?if($arPrice["CAN_ACCESS"]):?>
<div class="price">
<?if ($numPrices>1):?><p style="padding: 0; margin-bottom: 5px;"><?=$arResult["PRICES"][$code]["TITLE"];?>:</p><?endif?>
<?if($arPrice["DISCOUNT_VALUE"] < $arPrice["VALUE"]):?>
<span class="discount-price"><?=$arPrice["PRINT_DISCOUNT_VALUE"]?></span><br>
<span class="old-price"><?=$arPrice["PRINT_VALUE"]?></span>
<?else:?>
<?=$arPrice["PRINT_VALUE"]?>
<?endif;?>
</div>
<?endif;?>
<?endforeach;?>
<?if($arElement["CAN_BUY"]):?>
<a href="<?echo $arElement["ADD_URL"]?>" rel="nofollow" class="bt3 addtoCart" oncl ick="return addToCart(this, 'list', '<?=GetMessage("CATALOG_IN_CART")?>', 'noCart');" id="catalog_add2cart_link_<?=$arElement['ID']?>"><?=GetMessage("CATALOG_BUY")?></a>
<?elseif ( $arNotify[SITE_ID]['use'] == 'Y'):?>
<?if ($USER->IsAuthorized()):?>
<noindex><a href="<?echo $arElement["SUBSCRIBE_URL"]?>" rel="nofollow" class="subscribe_link" oncl ick="return addToSubscribe(this, '<?=GetMessage("CATALOG_IN_SUBSCRIBE")?>');" id="catalog_add2cart_link_<?=$arElement['ID']?>"><?echo GetMessage("CATALOG_SUBSCRIBE")?></a></noindex>
<?else:?>
<noindex><a href="jav * ascript:void(0)" rel="nofollow" class="subscribe_link" oncl ick="showAuthForSubscribe(this, <?=$arElement['ID']?>, '<?echo $arElement["SUBSCRIBE_URL"]?>')" id="catalog_add2cart_link_<?=$arElement['ID']?>"><?echo GetMessage("CATALOG_SUBSCRIBE")?></a></noindex>
<?endif;?>
<?endif;
}
?>
</div>
|
Собственно вопрос, как сделать чтобы компонент не проверял, есть ли у товара ТП, а сразу выводил цену из карточки товара? Мне эта проверка не нужна, так как все ТП для определенного товара имеют одинаковую цену.