Имеем элемент инфоблока с 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").
На этом всё! Удачной разработки и адекватных клиентов!
Коментарии отсутствуют, будьте первым(ой) кто напишет под этим постом!
Написать коментарий