@ZolotarevKirill

Битрикс SKU — как настроить вывод цены?

Добрый день!

Для быстрого просмотра товара пишу модуль. Задача модуля получить товар, его картинку и торговые предложения с ценами.

На форуме вычитал про замечательную функцию CIBlockPriceTools::GetOffersArray

Все работает, да только вот цена почему то не выводится. Ниже код.

Подскажите п-та в чем может быть проблема.

Функция

$arFilter = 1;
$arElementID = Array(405);
$arOrder = Array();
$arSelectFields = array('ID');
$arSelectProperties = Array('PROPERTY_RAZMER_ATTR_L');
$arPrices = Array(1, array('BASE'));

$items = CIBlockPriceTools::GetOffersArray(
$arFilter,
$arElementID,
$arOrder,
$arSelectFields,
$arSelectProperties,
0,
$arPrices

);
echo "";
var_dump($items);

Результат в каждом массиве ТП

["CHECK_QUANTITY"]=>
bool(false)
["CATALOG_MEASURE_NAME"]=>
string(4) "шт"
["~CATALOG_MEASURE_NAME"]=>
string(4) "шт"
["CATALOG_MEASURE_RATIO"]=>
int(1)
["MIN_PRICE"]=>
bool(false)
["PRICES"]=>
array(0) {
}
["CAN_BUY"]=>
bool(false)
  • Вопрос задан
  • 5567 просмотров
Решения вопроса 1
@ZolotarevKirill Автор вопроса
Нашел решение , может пригодится кому.

$SKU = CCatalogSKU::IsExistOffers($PRODUCT_ID, 1);
if($SKU){
$arFilter = 1;
$arElementID = Array($PRODUCT_ID);
$arOrder = Array();
$arSelectFields = array('ID');
$arSelectProperties = Array('PROPERTY_RAZMER_ATTR_L');
$arPrices = CIBlockPriceTools::GetCatalogPrices(1, array('BASE'));

$items = CIBlockPriceTools::GetOffersArray(
$arFilter,
$arElementID,
$arOrder,
$arSelectFields,
$arSelectProperties,
0,
$arPrices

);


foreach ($items as $k => $v){
$items[$k]["PROPERTIES"]["PRICES"] = GetCatalogProductPrice($v["ID"], 1);
$json['SKU'][$k]['NAME'] = $items[$k]["PROPERTIES"]["RAZMER_ATTR_S"]["VALUE"];
$json['SKU'][$k]['PRICE'] = $items[$k]["PROPERTIES"]["PRICES"]["PRICE"];
}
echo "";
var_dump($json);
}else{
print 0;
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
$arPrices = CIBlockPriceTools::GetCatalogPrices(1, array('BASE'));
Ответ написан
Ваш ответ на вопрос

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

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