- Модуль: catalog
- Путь к файлу: ~/bitrix/modules/catalog/lib/component/skutree.php
- Класс: BitrixCatalogComponentSkuTree
- Вызов: SkuTree::getOffersForProductIds
private function getOffersForProductIds(array $productIds): array
{
$productProperty = 'PROPERTY_'.$this->iblockInfo->getSkuPropertyId();
$productPropertyValue = $productProperty.'_VALUE';
$filter = [
'IBLOCK_ID' => $this->iblockInfo->getSkuIblockId(),
'ACTIVE' => 'Y',
'ACTIVE_DATE' => 'Y',
'CHECK_PERMISSIONS' => 'N',
$productProperty => $productIds,
];
$offers = [];
$iterator = CIBlockElement::GetList(
[],
$filter,
false,
false,
[$productProperty, 'ID']
);
while ($row = $iterator->getNext())
{
$row['ID'] = (int)$row['ID'];
$row['PARENT_PRODUCT_ID'] = (int)$row[$productPropertyValue];
$row['PROPERTIES'] = [];
$offers[$row['ID']] = $row;
}
if (!empty($offers))
{
CIBlockElement::GetPropertyValuesArray(
$offers,
$this->iblockInfo->getSkuIblockId(),
$filter,
[
'ID' => PropertyCatalogFeature::getOfferTreePropertyCodes($this->iblockInfo->getSkuIblockId()),
]
);
}
return $offers;
}