- Модуль: catalog
- Путь к файлу: ~/bitrix/modules/catalog/lib/UI/PropertyProduct.php
- Класс: BitrixCatalogUIPropertyProduct
- Вызов: PropertyProduct::getSkuProperties
static function getSkuProperties(int $iblockId, int $skuId, array $filter = []): array
{
$properties = self::getIblockProperties($iblockId, $skuId, $filter);
$product = CatalogProductTable::getRow([
'select' => [
'SKU_NAME' => 'IBLOCK_ELEMENT.NAME',
'SKU_DESCRIPTION' => 'IBLOCK_ELEMENT.DETAIL_TEXT',
'PURCHASING_PRICE',
'PURCHASING_CURRENCY',
'LENGTH',
'WIDTH',
'HEIGHT',
'WEIGHT',
],
'filter' => ['=ID' => $skuId],
]);
$properties['SKU_ID'] = $skuId;
if ($product !== null)
{
$properties['PURCHASING_PRICE'] = round((float)$product['PURCHASING_PRICE'], self::PRICE_PRECISION);
if (Loader::includeModule('crm'))
{
$properties['PURCHASING_PRICE_FORMATTED'] = CCrmCurrency::MoneyToString(
$product['PURCHASING_PRICE'],
$product['PURCHASING_CURRENCY']
);
}
elseif (Loader::includeModule('currency'))
{
$properties['PURCHASING_PRICE_FORMATTED'] = CCurrencyLang::CurrencyFormat(
$product['PURCHASING_PRICE'],
$product['PURCHASING_CURRENCY']
);
}
else
{
$properties['PURCHASING_PRICE_FORMATTED'] = htmlspecialcharsbx(
$product['PURCHASING_PRICE'] . ' ' . $product['PURCHASING_CURRENCY']
);
}
$properties['LENGTH'] = $product['LENGTH'];
$properties['WEIGHT'] = $product['WEIGHT'];
$properties['WIDTH'] = $product['WIDTH'];
$properties['HEIGHT'] = $product['HEIGHT'];
$properties['SKU_NAME'] = htmlspecialcharsbx($product['SKU_NAME']);
$properties['SKU_DESCRIPTION'] = (new CBXSanitizer())->SanitizeHtml($product['SKU_DESCRIPTION']);
}
else
{
$properties['PURCHASING_PRICE'] = 0;
$properties['PURCHASING_PRICE_FORMATTED'] = '';
$properties['LENGTH'] = null;
$properties['WEIGHT'] = null;
$properties['WIDTH'] = null;
$properties['HEIGHT'] = null;
$properties['SKU_NAME'] = '';
$properties['SKU_DESCRIPTION'] = '';
}
return $properties;
}