- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/Service/EditorAdapter.php
- Класс: Bitrix\Crm\Service\EditorAdapter
- Вызов: EditorAdapter::formProductRowData
static function formProductRowData(\Bitrix\Crm\ProductRow $product, string $currencyId, bool $checkTaxes = false): array
{
$url = '';
if ($product->getProductId() > 0)
{
$url = Container::getInstance()->getRouter()->getProductDetailUrl($product->getProductId());
}
$sum = 0;
if ($checkTaxes && $product->getField('TAX_INCLUDED') !== 'Y')
{
$sum = round($product->getField('PRICE_EXCLUSIVE') * $product->getField('QUANTITY'), 2) * (1 + $product->getField('TAX_RATE') / 100);
}
else
{
$sum = $product->getPrice() * $product->getQuantity();
}
$productRowData = [
'PRODUCT_NAME' => $product->getProductName(),
'SUM' => Money::format($sum, $currencyId),
'URL' => $url,
];
if (Loader::includeModule('catalog'))
{
$productData = $product->toArray();
$sku =
\Bitrix\Catalog\v2\IoC\ServiceContainer::getRepositoryFacade()
->loadVariation($productData['PRODUCT_ID'])
;
if ($sku)
{
$image = $sku->getFrontImageCollection()->getFrontImage();
$productRowData['PHOTO_URL'] = $image ? $image->getSource() : null;
$productRowData['VARIATION_INFO'] =
\Bitrix\Catalog\v2\Helpers\PropertyValue::getSkuPropertyDisplayValues($sku)
;
}
}
return $productRowData;
}