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); // Обновляем массив свойств типа файл
xolegator
|
||
Установить значение свойства типа Справочник (highload блок)
| ||
Хайк Минасян
|
||
Если нужно обновить значения во вкладе СЕО в форме редактирования элемента
| ||
Родион Абдурахимов
|
||||
Если в строке
| ||||
Дмитрий Ипатов
|
||
Для того чтобы записать множественное свойство привязка к разделом нужно передать массив с айди разделов, пример:
| ||
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.