Для получения элемента инфоблока по его 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 страницы детального просмотра элемента;- и другие.