GET /rest/1/site/iblock.Element.get?iblockElementId=1&iblockId=1&lang=ru&fields=IBLOCK_ELEMENT_PROPERTIES&filter[PROPERTY_CODE]=тип
function getIblockElementsByProperty($iblockId, $propertyCode, $propertyValue)
{
$result = [];
$iblockElements = CIBlockElement::GetList(
['ID' => 'ASC'],
['IBLOCK_ID' => $iblockId],
false,
['ID', 'IBLOCK_ELEMENT_PROPERTIES']
);
while ($iblockElement = $iblockElements->GetNext()) {
foreach ($iblockElement['PROPERTIES'] as $property) {
if ($property['CODE'] === $propertyCode && $property['VALUE'] === $propertyValue) {
$result[] = $iblockElement;
break;
}
}
}
return $result;
}
public static function OnAfterIndexAddExtended($searchContentId, &$fields)
{
if (
$fields['MODULE_ID'] !== 'iblock' ||
!$fields['ITEM_ID'] ||
!in_array($fields['PARAM2'], self::$Iblock)
) {
return;
}
// Удалите поле 'TITLE' из массива $fields
unset($fields['TITLE']);
// Получите внешний код раздела из какого-то другого источника, например, из базы данных
$externalCode = getExternalCodeForElement($fields['ITEM_ID']);
// Добавьте внешний код к полю 'b_search_content_title'
$fields['b_search_content_title'] .= ' ' . $externalCode;
// Обновите индекс для измененной записи
\CSearchFullText::getInstance()->replace($searchContentId, $fields);
}