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 - поле для сортировки, может принимать значения:
Примечание: параметр не должен быть false, иначе метод отработает неправильно и результат не будет отобран по заданным критериям. |
arFilter | Массив вида array("фильтруемое поле"=>"значения фильтра" [, ...]) "фильтруемое поле" может принимать значения: ACTIVE - активность (Y/N),
|
Примечание - Существуют ещё параметры, оставленные для сохранения совместимости: $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;
Пример 5
Если нужно получить имена значения типа список
? $res = CIBlockElement::GetProperty(ID_BLOKA, ID_ELEMENTA, array("sort" => "asc"), Array("CODE"=>"CATEGORIES")); while ($ob = $res->GetNext()) { $prop = $ob['VALUE_ENUM']; echo $prop. " "; } ?
© «Битрикс», 2001-2024, «1С-Битрикс», 2024