Bitrix API, как можно получить значение свойств элемента инфоблока в D7?

Подскажите как используя API ядра D7 можно получить значение свойств элемента инфоблока и сделать выборку элементов инфоблока по свойствам?

Есть инфоблок Новости, у его элементов есть свойство PROPERTY_SPORT_TYPE это свойство ссылка на элемент инфоблока Виды спорта. Например есть 5 новостей о футболе и я должен их получить.

Используя старое API я получаю список новостей по определенному виду спорта, используя вот такой фильтр:
$arFilter = array("IBLOCK_ID"=>$iblock_id, "ACTIVE_FROM","=PROPERTY_SPORT_TYPE"=>$sport_type_id);

Как организовать сортировку в D7 по свойствам?

В старом ядре я использую метод getProperty, так выглядит весь код:

$arSelect = array("ID", "NAME", "DETAIL_PAGE_URL", "ACTIVE_FROM", "CODE", "PROPERTY_*");
$arFilter = array("IBLOCK_ID"=>$iblock_id, "ACTIVE_FROM","=PROPERTY_SPORT_TYPE"=>$sport_type_id);
$arItems = [];
$res = CIBlockElement::GetList(array(), $arFilter, false, array("nPageSize"=>500), $arSelect);
while($arItem = $res->fetch()){
		$dbProperty = CIBlockElement::getProperty($arItem['IBLOCK_ID'], $arItem['ID'], array("sort", "asc"),array());
			while ($arProperty = $dbProperty->GetNext()) {
				if($arProperty['CODE'] == 'SPORT_TYPE'){
					$arItem['SPORT_TYPE'][] =  $arProperty['VALUE'];   
				}    
		}
}


Есть ли аналог метода CIBlockElement::getProperty в ядре D7?
  • Вопрос задан
  • 4977 просмотров
Пригласить эксперта
Ответы на вопрос 2
babarun
@babarun Куратор тега 1С-Битрикс
Безумный план моих идей в руках больных людей
Комментировать
naghtigall
@naghtigall
Дизайнер и разработчик сайтов
https://qna.habr.com/q/828871 - это была недоработка D7, они ее исправили в ядре 20.200
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы