Блог специалистов
20.04.2018

Отфильтровать элементы по множественному свойств привязка в элементам

Казалось бы, простая задача отфильтровать элементы по множественному свойству, но все держать в голове сложно, поэтому пользуемся напоминанием. В данном случае использовали свойство "Привязка в элементам", но можно использовать любое другое множественное, где нужно создать массив данных.

Ниже простая задача.
Есть детальный элемент, в его шаблоне вставлен компонент 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(....

Количество показов: 3713




Возврат к списку