Документация для разработчиков
Темная тема

GetProperty

Описание

CDBResult
  CIBlockElement::GetProperty(
  int iblock_id,
int element_id,
array arOrder = Array(), array arFilter = Array() );

Метод возвращает значения свойства для элемента element_id. Метод статический.

Смотрите также

Параметры вызова

ПараметрОписание
iblock_id Код инфоблока.
element_id Код элемента.
arOrder
Массив вида Array(by1=>order1[, by2=>order2 [, ..]]), где by - поле для сортировки, может принимать значения:
  • id - код свойства;
  • sort - индекс сортировки;
  • name - имя свойства;
  • active - активность свойства;
  • value_id - код значения свойства;
  • enum_sort - индекс сортировки варианта списочного свойства; 
order - порядок сортировки, может принимать значения:
  • asc - по возрастанию;
  • desc - по убыванию;
Необязательный. По умолчанию равен Array("sort"=>"asc")
Примечание: параметр не должен быть false, иначе метод отработает неправильно и результат не будет отобран по заданным критериям.
arFilter Массив вида array("фильтруемое поле"=>"значения фильтра" [, ...]) "фильтруемое поле" может принимать значения: ACTIVE - активность (Y/N),
  • NAME - название свойства (можно использовать маску %|_),
  • ID - код свойства,
  • ACTIVE - активность (Y|N),
  • SEARCHABLE - участвует в поиске или нет (Y|N),
  • PROPERTY_TYPE - тип свойства,
  • CODE - символьный код свойства,
  • EMPTY - пустота свойства (Y|N).
Не обязательный параметр, по умолчанию равен array().

Примечание - Существуют ещё параметры, оставленные для сохранения совместимости: $by и $order .

Возвращаемое значение

Возвращается объект CDBResult, содержащий поля свойств и поля со значениями:


PROPERTY_VALUE_ID - код значения свойства,
VALUE - значение свойства,
DESCRIPTION - описание значения свойства,
VALUE_ENUM - текстовое значение элемента списочного свойства,
VALUE_XML_ID - внешний код значения свойства типа "список".

Примеры использования

Пример 1:

<?
$db_props = CIBlockElement::GetProperty($PRODUCT_IBLOCK_ID, $PRODUCT_ID, array("sort" => "asc"), Array("CODE"=>"FORUM_TOPIC_ID"));
if($ar_props = $db_props->Fetch())
$FORUM_TOPIC_ID = IntVal($ar_props["VALUE"]);
else
$FORUM_TOPIC_ID = false;
?>

Пример 2 (получить значения для множественного свойства):

    $VALUES = array();
    $res = CIBlockElement::GetProperty(IKSO_CUSTOM::$IBLOCKS['brands'], $BRAND_ID, "sort", "asc", array("CODE" => "BRAND_CLASS"));
    while ($ob = $res->GetNext())
    {
        $VALUES[] = $ob['VALUE'];
    }

Пример 3 (получить значения для немножественного свойства):

$res = CIBlockElement::GetProperty(IKSO_CUSTOM::$IBLOCKS['brands'], $BRAND_ID, "sort", "asc", array("CODE" => "BRAND_CLASS"));
    if ($ob = $res->GetNext())
    {
        $VALUE = $ob['VALUE'];
    }

Пример 4:

Если значений у свойства нет и в фильтр не передается "EMPTY"=>"N", то метод вернет массив с с пустым ключом VALUE:

//используются Инфоблоки 2.0
$db_props = CIBlockElement::GetProperty(30, 14391, "sort", "asc", Array("CODE"=>"XXX")); // XXX - множественное свойства типа "Строка"
if($ar_props = $db_props->Fetch()):
echo "<pre>".print_r($ar_props, true)."<pre>";
endif;


© «Битрикс», 2001-2020, «1С-Битрикс», 2020
Наверх