Блог

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

25 мая 2024

Часто для оптовых покупателей надо скрыть розничные цены товаров. К сожалению, в Битриксе нет возможности сделать это через стандартные настройки, поэтому приходится дорабатывать код. В каталоге товаров это сделать просто — достаточно перед вызовом комплексного компонента каталога товаров определить, имеет ли право текущий пользователь покупать товары по оптовым ценам, а затем указать в переменной $PRICE_CODE, какой тип цен показывать:

$dbPrice = CCatalogGroup::GetList([], ['NAME' => 'OPT'], false, ['nTopCount' => 1], ['CAN_BUY']);
if ($arPrice = $dbPrice->Fetch())
{
    if ($arPrice['CAN_BUY'] == 'Y')
	$PRICE_CODE = ['OPT'];  // оптовая цена
    else
	$PRICE_CODE = ['BASE'];  // розничная цена
}

Ниже, в настройках компонента bitrix:catalog, параметру "PRICE_CODE" (тип цены) присвоить переменную $PRICE_CODE:

$APPLICATION->IncludeComponent(
    "bitrix:catalog",
    "",
    Array(
        ...
        "PRICE_CODE" => $PRICE_CODE,
        ...
    )
);   

Естественно, всё это надо делать после того, как на сайте созданы группы оптовых покупателей, оптовые цены и выставлены права на них.

Битрикс Просмотров: 7
Категории: