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

  • 7 сентября 2023 г. 8:47
Ответы на вопрос 2
Ошибка "Unknown field definition PROPERTY_GARAGE_VALUE" возникает потому, что свойства инфоблока не являются полями таблицы ElementTable. 

Для получения свойств элемента инфоблока вам нужно использовать метод getPropertyValues, который возвращает значения свойств элемента по его ID. Пример использования:

```php
Bitrix\Main\Loader::includeModule('iblock');
use \Bitrix\Iblock\ElementTable;

$elementId = 123; // ID элемента инфоблока

$properties = CIBlockElement::GetPropertyValues(
    false,
    ['ID' => $elementId],
    false,
    ['CODE' => 'PROPERTY_GARAGE']
);

while ($property = $properties->Fetch()) {
    $propertyValue = $property['PROPERTY_GARAGE_VALUE'];
    // Делайте что-то с полученным значением свойства
}
```

Укажите нужный ID элемента инфоблока в переменной $elementId и измените 'CODE' => 'PROPERTY_GARAGE' для получения нужного свойства.

Обратите внимание, что для использования CIBlockElement::GetPropertyValues вы должны подключить модуль iblock и использовать класс CIBlockElement.
в настройках информационного блока заполните поле "Символьный код API". Например, вы можете использовать символьный код "catalog". Тогда запрос к элементам инфоблока будет выглядеть следующим образом:

\Bitrix\Iblock\Elements\ElementCatalogTable::getList([
	"select" => [
		"ID", "NAME",
		"BRAND_VALUE" => "BRAND.VALUE",  // Здесь "BRAND" - это символьный код свойства
	]
])
Похожие вопросы