- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/helpers/admin/skuprops.php
- Класс: BitrixSaleHelpersAdminto
- Вызов: to::getProductId
static function getProductId(array $skuProps, $productId, array $skuOrder, $changedSkuId)
{
if(
empty($skuProps)
|| intval($productId) <= 0
|| empty($skuOrder)
|| intval($changedSkuId) <= 0
)
{
return 0;
}
$offersIds = self::getOffersIds($productId);
$requiredProps = self::extractRequiredProps($skuProps, $skuOrder, $changedSkuId);
$offersIds = self::filterByProps($requiredProps, $offersIds[$productId]);
if(count($offersIds) == 0)
return 0;
if(count($offersIds) == 1)
return current($offersIds);
$optionalProps = self::extractOptionalProps($skuProps, $skuOrder, $changedSkuId);
if(empty($optionalProps))
return current($offersIds);
foreach($optionalProps as $id => $val)
{
$prevProducts = $offersIds;
$offersIds = self::filterByProps(array($id => $val), $offersIds);
if(count($offersIds) == 0)
return current($prevProducts);
if(count($offersIds) == 1)
return current($offersIds);
}
return current($offersIds);
}