1C-Битрикс: Управление сайтом

CIBlockElement::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")
arFilter Массив вида array("фильтруемое поле"=>"значения фильтра" [, ...]) "фильтруемое поле" может принимать значения: ACTIVE - активность (Y/N),
  • NAME - название свойства (можно использовать маску %|_),
  • ID - код свойства,
  • ACTIVE - активность (Y|N),
  • SEARCHABLE - участвует в поиске или нет (Y|N),
  • PROPERTY_TYPE - тип свойства,
  • CODE - мнемонический код свойства,
  • EMPTY - пустота свойства (Y|N).
Не обязательный параметр, по умолчанию равен array().

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

Возвращается объект CDBResult, содержащий поля свойств и поля со значениями:
PROPERTY_VALUE_ID - код значения свойства,
VALUE - значение свойства,
DESCRIPTION - описание значения свойства,
VALUE_ENUM - код значения свойства типа "список",
VALUE_XML_ID - внешний код значения свойства типа "список".

См. также

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

<?
$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;
?>

Пользовательские комментарии

Пользовательские комментарии не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Добавлять комментарии могут только зарегистрированные пользователи. Сообщения для просмотра появляются после модерации.
1
PetrW
Код
$db_props = CIBlockElement::GetProperty($PRODUCT_IBLOCK_ID, $PRODUCT_ID, "sort", "asc", Array("CODE"=>"FORUM_TOPIC_ID"));


Возможно еще так:
Код
$db_props = CIBlockElement::GetProperty($PRODUCT_IBLOCK_ID, $PRODUCT_ID, Array("sort"=>"asc"), Array("CODE"=>"FORUM_TOPIC_ID"));
1
Игорь Павленко
Нужно также учитывать, что если получаем значения для множественного св-ва, то можно получать так:

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


Если получаем значения для не множественного св-ва, то можно так:
Код
    $res = CIBlockElement::GetProperty(IKSO_CUSTOM::$IBLOCKS['brands'], $BRAND_ID, "sort", "asc", array("CODE" => "BRAND_CLASS"));
    [if ($ob = $res->GetNext())
    {
        $VALUE = $ob['VALUE'];
    }
0
Роберт Басыров
CIBlockElement::GetProperty() возвращает результат в случае, если значения нет

Код
$db_props = CIBlockElement::GetProperty(30, 14391, "sort", "asc", Array("CODE"=>"XXX"));
if($ar_props = $db_props->Fetch()):
echo "<pre>".print_r($ar_props, true)."<pre>";
endif;

отдает массив с пустым VALUE

XXX - множественное свойства типа строка
используем Инфоблоки+
0
Сергей Фролов
Если нужно получить значение типа список

Код
$db_props = CIBlockElement::GetProperty($PRODUCT_IBLOCK_ID, $PRODUCT_ID, array("sort" => "asc"), Array("CODE"=>"FORUM_TOPIC_ID"));
if($ar_props = $db_props->Fetch())
$property_enums = CIBlockPropertyEnum::GetList(Array("DEF"=>"DESC", "SORT"=>"ASC"), Array("IBLOCK_ID"=>$IBLOCK_ID, "ID"=>$ar_props["VALUE"]));
while($enum_fields = $property_enums->GetNext())
{
   $prop_value = $enum_fields["VALUE"];
}
© «Битрикс», 2001-2012, «1C-Битрикс», 2012