Всем привет. Делаю фильтрацию по двум инфоблокам для получения ID элемента
То есть делаю фильтрацию по каталогу и торговому предложению что бы вывести нужные ID товаров каталога. Но что то не выходит, 36 инфоблок не фильтрует...
Пытаюсь отфильтровать сразу 2 инфоблока и разделить уже в while по инфоблокам , что бы из ТП товаров получить ID главного товара каталога.
$pvalues выглядит так
[PROPERTY_605] => Array
(
[0] => 358
)
[PROPERTY_687] => Array
(
[0] => 8490
)
Вот мой код:
$IDitems = [];
$IDitemsOf = [];
$arSelect = Array("ID", "IBLOCK_ID");
$arFilter = Array("ACTIVE" => "Y", array("LOGIC" => "OR", array('IBLOCK_ID' => 36, $pvalues), array('IBLOCK_ID' => 21, $pvalues)));
$res = CIBlockElement::GetList(false, $arFilter, false, false, $arSelect);
while ($ob = $res->GetNextElement()){
$arFields = $ob->GetFields();
$arProps = $ob->GetProperties();
if($arFields['IBLOCK_ID'] == 21){
$IDitems[] = $arFields['ID'];
}
if($arFields['IBLOCK_ID'] == 36){
$mxResult = CCatalogSku::GetProductInfo(
$arFields['ID']
);
$IDitemsOf[] = $mxResult['ID'];
}
}
$result = array_merge($IDitems, $IDitemsOf);
$result - я уже вписываю в глобальный фильтр по комплексному компоненту catalog