Получение свойств элемента битрикс

Имеем элемент инфоблока с id = ID, имеем инфоблок с id = IBLOCK_ID. Знаем код нужного нам свойства PROPERTY_CODE.

Получаем значение свойства инфоблока:

$res = CIBlockElement::GetProperty(IBLOCK_ID, ID, "sort", "asc", array("CODE" => "PROPERTY_CODE"));
if ($ob = $res->GetNext())
{
    $VALUE = $ob['VALUE'];
}

 Свойства могут быть множественными, соответственно нам нужно собрать значения в массив:

$values = [];
$res = CIBlockElement::GetProperty(IBLOCK_ID, ID, "sort", "asc", array("CODE" => "PROPERTY_CODE"));
while ($ob = $res->GetNext())
{
    $values[] = $ob['VALUE'];
}

Мы можем не передавать информацию по свойству напрямую. Так, например, получим все свойства элемента ID, передав в массив фильтра ACTIVE=Y (активные свойства):

$properties = [];
$res = CIBlockElement::GetProperty(IBLOCK_ID, ID, "sort", "asc", array("ACTIVE" => "Y"));
while ($prop = $res->GetNext())
{
    $properties[] = $prop;
}

Выбираем все заполненные свойства элемента:

$properties = [];
$res = CIBlockElement::GetProperty(IBLOCK_ID, ID, "sort", "asc", array("EMPTY" => "N"));
while ($prop = $res->GetNext())
{
    $properties[] = $prop;
}

Для того чтобы получить все НЕзаполненные свойства, соответственно передаем в фильтр array("EMPTY" => "Y").

На этом всё! Удачной разработки и адекватных клиентов!

Коментарии

Коментарии отсутствуют, будьте первым(ой) кто напишет под этим постом!

Написать коментарий