Отфильтровать элементы по множественному свойств привязка в элементам
Казалось бы, простая задача отфильтровать элементы по множественному свойству, но все держать в голове сложно, поэтому пользуемся напоминанием. В данном случае использовали свойство «Привязка в элементам», но можно использовать любое другое множественное, где нужно создать массив данных.
Ниже простая задача.
Есть детальный элемент, в его шаблоне вставлен компонент news.list, в котором мы хотим вывести привязанные элементы из другого инфоблока.
Просто берем наше свойство «Привязка к элементам», у нас оно называется «DOMA» и формируем массив для фильтра.
<?foreach($arResult["PROPERTIES"]["DOMA"]["VALUE"] as $doma):?>
<?$res = CIBlockElement::GetByID($doma);?>
<?if($ar_res = $res->GetNext())?>
<?$ids[] = $ar_res["ID"];?>
<?endforeach;?>
Тут выведем для отладки наши ID
<pre><?print_r($ids);?></pre>
И перед компонентом вставим наш фильтр. Обратите внимание, чтобы FILTER_NAME совпадало с назвнаием фильтра.
<?
$GLOBALS['arFilter']['ID'] = $ids;
$APPLICATION->IncludeComponent("bitrix:news.list", "doma", Array(....