SetPropertyValuesEx
Описание и параметры
CIBlockElement::SetPropertyValuesEx( int ELEMENT_ID, int IBLOCK_ID, array PROPERTY_VALUES, array FLAGS = array() );
Метод сохраняет значения всех свойств элемента информационного блока. В отличие от SetPropertyValues может не содержать полный набор значений. Значения свойств, неуказанных в массиве PROPERTY_VALUES, будут сохранены. Этот метод более экономен в количестве запросов к БД. Метод статический.
Метод возвращает Null.
Если необходимо сохранить пустое значение для множественного свойства, то используйте значение false, так как просто пустой массив не сохранится.
Параметры вызова
Параметр | Описание |
---|---|
ELEMENT_ID | Код элемента, значения свойств которого необходимо установить. |
IBLOCK_ID | Код информационного блока. Может быть не указан. В этом случае будет прочитан из базы данных по коду элемента.
|
PROPERTY_VALUES | Массив значений свойств, в котором коду свойства ставится в соответствие значение свойства.
Должен быть вида Array("код свойства1"=>"значения свойства1", ....), где "код свойства" - числовой или символьный код свойства, "значения свойства" - одно или массив всех значений свойства (множественное). Примечания:
|
FLAGS | Необязательный параметр предоставляет информацию для оптимизации выполнения. Может содержать следующие ключи:
|
Смотрите также
Примеры использования
Пример 1:
<? $ELEMENT_ID = 18; // код элемента $PROPERTY_CODE = "PROP1"; // код свойства $PROPERTY_VALUE = "Синий"; // значение свойства // Установим новое значение для данного свойства данного элемента CIBlockElement::SetPropertyValuesEx($ELEMENT_ID, false, array($PROPERTY_CODE => $PROPERTY_VALUE)); ?>
Пример 2 (изменение немножественного свойства типа HTML/Text):
$el_id = 125; $iblock_id = 45; $prop[$prop_code] = array('VALUE'=>array('TYPE'=>'HTML', 'TEXT'=>$prop_value)); CIBlockElement::SetPropertyValuesEx($el_id, $iblock_id, $prop);
Пример 3:
<input name="MyFile1" type="file" /> <input name="MyFile2" type="file" /> function makeCurentFilesArray($InputFileCode) { unset($arFiles, $TMPFILE); $arFiles = array(); // Массив всех файлов в свойстве [] $TMPFILE = array(); // Временный массив для текщего файла if(is_array($_FILES[$InputFileCode])) { foreach($_FILES[$InputFileCode]['tmp_name'] as $key => $val) { if(file_exists($val)) { foreach($_FILES[$InputFileCode] as $namekey => $nameval) { $TMPFILE[$namekey] = $nameval[$key]; } $arFiles[] = array('VALUE' => $TMPFILE, 'DESCRIPTION' => $TMPFILE['name']); } } } return $arFiles; } if (!empty($_FILES['MyFile1'])) $PropFileArr['MyFile1'] = makeCurentFilesArray('MyFile1'); if (!empty($_FILES['MyFile2'])) $PropFileArr['MyFile2'] = makeCurentFilesArray('MyFile2'); CIBlockElement::SetPropertyValuesEx($Element_ID, $IBlock_ID, $PropFileArr); // Обновляем массив свойств типа файл
© «Битрикс», 2001-2024, «1С-Битрикс», 2024