Для получения элемента инфоблока по его ID в Битрикс D7 необходимо выполнить следующие шаги:
- Подключить модуль
iblock:
\Bitrix\Main\Loader::includeModule('iblock');
- Задать символьный код API для инфоблока. Для этого необходимо определить его строку от 1 до 50 символов, начинающуюся с буквы и состоящую из латинских букв и цифр.
- Использовать класс
\Bitrix\Iblock\Elements\ElementXXXXXTableдля работы с элементами инфоблока, гдеXXXXX— символьный код API. Например, для инфоблока с символьным кодомcatalogэто будет класс\Bitrix\Iblock\Elements\ElementCatalogTable. - Получить элемент инфоблока по его ID с помощью метода
getByPrimary:
$element = \Bitrix\Iblock\Elements\ElementCatalogTable::getByPrimary($elementId, [
'select' => ['ID', 'NAME'],
]);
В этом примере мы получаем элемент инфоблока с ID, равным $elementId, и выбираем только поля ID и NAME.
- Обратиться к нужному полю элемента инфоблока с помощью метода
get. Например, чтобы получить название элемента, нужно выполнить следующий код:
$name = $element->get('NAME');
Этот код вернет строку с названием элемента.
Какие еще поля элемента инфоблока можно выбрать в методе `getByPrimary`?
ANSWER
При использовании метода getByPrimary для получения элемента инфоблока можно выбрать любые поля элемента, указав их в массиве select вторым параметром метода. Например:
$element = \Bitrix\Iblock\Elements\ElementCatalogTable::getByPrimary($elementId, [
'select' => ['ID', 'NAME', 'DETAIL_PAGE_URL', 'PREVIEW_PICTURE'],
]);
В этом примере мы выбираем поля ID, NAME, DETAIL_PAGE_URL и PREVIEW_PICTURE.
Полный список полей элемента инфоблока, которые можно использовать в методе getByPrimary, зависит от настроек инфоблока и может включать в себя следующие поля:
ID— идентификатор элемента;NAME— название элемента;IBLOCK_ID— идентификатор инфоблока, к которому относится элемент;IBLOCK_SECTION_ID— идентификатор раздела инфоблока, к которому относится элемент;ACTIVE— флаг активности элемента;SORT— порядковый номер элемента;PREVIEW_PICTURE— превью изображения элемента;DETAIL_PICTURE— детальное изображение элемента;DETAIL_PAGE_URL— URL страницы детального просмотра элемента;- и другие.