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. " "; } ?
Сергей Мостовой
|
||
Вывести Артикул товара, где CML2_ARTICLE код свойства в инфоблоке
| ||
crazydrummer
|
||
Получаем все поля и свойства в удобном для дальнейшего вывода формате
| ||
stvbox
|
Третий параметр метода не должен быть false. Не правильно происходит перегрузка функции и результат - все подряд, вместо отобранного по необходимым критериям.
|
Сергей Фролов
|
||
Если нужно получить значение типа список
| ||
PetrW
|
||||
Возможно еще так:
| ||||
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.