Цитата |
---|
Дмитрий Шкуркин пишет: установите фильтр FILTER_NAME для компонентов или второй параметр (массив) для GetList |
Это понятно, я так и делаю. Но не получается чего-то. Мне нужно выбрать все элементы из выбранного раздела первого инфоблока и элементы из связанных подразделов второго инфоблока, у которых установлены требуемые свойства. Свойства хранятся в отдельных таблицах. Привязка разделов сделана через пользовательское свойство.
Вот так я строю фильтр:
Код |
---|
$arFilter = array( 'ACTIVE' => 'Y', 'IBLOCK_ID' => array($iNewsIblock, $iNewsMO), );$rsSubSections = CIBlockSection::GetList(array('sort' => 'asc', 'name' => 'asc'), array('IBLOCK_ID' => $iNewsMO, 'UF_DISTRICT_NEWS' => $arSection['ID'])); $arSubs = array(); while($arSub = $rsSubSections->GetNext()) { $arSubs[] = $arSub['ID']; } if(!empty($arSubs)){ $arFilter[] = array( 'LOGIC' => 'OR', array('SECTION_ID' => $arSection['ID'], array( 'LOGIC' => 'AND', array('SECTION_ID' => $arSubs), array( 'LOGIC' => 'OR', array('PROPERTY_to_city_mo_VALUE' => 'y'), array('PROPERTY_to_district_mo_VALUE' => 'y'), ), ), ); } else $arFilter['SECTION_ID'] = $arSection['ID']; |