Как получить свойство типа "Привязка к элементам" в работе с инфоблоком версии 1.0?

Как получить корректное значение свойства "Привязка к элементам" из массива, чтобы избежать получения строки "[object Object]" при выводе данных? Требуется получить доступ к значению VALUE в читаемом виде, не изменяя версию инфоблока с 1.0 на 2.0.
  • 19 июня 2024 г. 9:51
Ответы на вопрос 1
Для получения значения свойства типа "Привязка к элементам" в работе с инфоблоком версии 1.0, можно воспользоваться следующим кодом:

```php
$elementId = 123; // ID элемента, у которого необходимо получить привязку
$iblockId = 1; // ID инфоблока

CModule::IncludeModule("iblock");

$arFilter = array(
    "IBLOCK_ID" => $iblockId,
    "ID" => $elementId
);

$rsElements = CIBlockElement::GetList(array(), $arFilter, false, false, array("ID", "PROPERTY_NAME"));
if($arElement = $rsElements->Fetch()) {
    $linkedElements = $arElement["PROPERTY_NAME_VALUE"]; // Значение свойства "Привязка к элементам"
    
    foreach($linkedElements as $linkedElementId) {
        // Дальнейшая обработка связанных элементов
    }
}
```

Здесь "PROPERTY_NAME" - это символьный код свойства типа "Привязка к элементам". После получения значения свойства в виде массива ID связанных элементов, можно обрабатывать их дальше в цикле.

Для вывода данных связанных элементов в читаемом виде без получения строки "[object Object]", можно получить необходимые свойства этих элементов и отобразить их, например, так:

```php
foreach($linkedElements as $linkedElementId) {
    $rsLinkedElement = CIBlockElement::GetByID($linkedElementId);
    if($arLinkedElement = $rsLinkedElement->GetNext()) {
        $linkedElementName = $arLinkedElement["NAME"];
        // Дальнейшая обработка данных связанных элементов
    }
}
```

Таким образом, можно получить доступ к значению свойства "Привязка к элементам" в читаемом виде при работе с инфоблоком версии 1.0 без необходимости обновления до версии 2.0.
Похожие вопросы