Для фильтрации элементов по значению свойства в 1C-Bitrix можно воспользоваться функцией CIBlockElement::GetList(). Эта функция позволяет получить список элементов инфоблока с заданными условиями поиска.
Прежде всего, необходимо определить параметры фильтрации. В данном случае нам понадобится фильтровать элементы по значению свойства. Для этого мы будем использовать ключ "PROPERTY_VALUE" фильтрации. Значением этого ключа будет массив, содержащий ID свойства, тип свойства и значение, по которому нужно выполнить фильтрацию.
Пример кода для фильтрации элементов по значению свойства:
// Загружаем модуль инфоблока if (!CModule::IncludeModule('iblock')) { die('Модуль инфоблоков не установлен'); } // Определяем параметры фильтрации $filter = [ 'IBLOCK_ID' => <ID инфоблока>, 'ACTIVE' => 'Y', 'PROPERTY_VALUE' => [ 'ID' => <ID свойства>, 'TYPE' => <Тип свойства>, 'VALUE' => <Значение свойства>, ], ]; // Получаем список элементов, удовлетворяющих условиям фильтрации $res = CIBlockElement::GetList([], $filter, false, false, ['ID', 'NAME']); // Выводим результаты while ($ob = $res->GetNextElement()) { $arFields = $ob->GetFields(); echo 'ID: ' . $arFields['ID'] . '<br>'; echo 'NAME: ' . $arFields['NAME'] . '<br><br>'; }
В данном примере мы указываем ID инфоблока, в котором находятся элементы, которые нам нужно отфильтровать. В ключе PROPERTY_VALUE мы предоставляем ID свойства, его тип и значение, по которому нам нужно выполнить фильтрацию. В данном примере мы выводим на экран только ID и название элементов, но вы можете определить другие поля для вывода.
Не забудьте заменить <ID инфоблока>, <ID свойства>, <Тип свойства> и <Значение свойства> на соответствующие значения в вашей системе.
Учитывайте, что при работе с большим количеством элементов может потребоваться установить лимит и сортировку для более эффективной работы.