SetPropertyValueCode
Описание и параметры
bool CIBlockElement::SetPropertyValueCode( int ELEMENT_ID, string PROPERTY_CODE, string PROPERTY_VALUE );Метод изменяет значение свойства элемента информационного блока. Выполняет один дополнительный запрос к БД для определения кода информационного блока элемента. Если код инфоблока известен, то лучше воспользоваться функцией SetPropertyValues, задав ей 4-й параметр. Статический метод.
Внимание! Удалять и обновлять несколько значений файлового свойства можно только ОДНИМ вызовом, а не несколькими, так как меняются ID значений свойств.
Отличие метода от SetPropertyValuesEx в том, что он не перезаписывает множественное свойства типа Файл, а дополняет.
Параметры вызова
Параметр | Описание |
---|---|
ELEMENT_ID | Код элемента, значение свойства которого изменяется. |
PROPERTY_CODE | Символьный или числовой код свойства, которое изменяется.
Если передан неверный PROPERTY_CODE метод все равно вернет true. |
PROPERTY_VALUE | Значение свойства (одиночное или множественное в виде массива значений).
Если для свойства типа список, привязка к элементам или разделам (и их клонам) будет установлено равным переданному значению PROPERTY_VALUE, без проверки, метод вернет true. (Если передавать значение, а не его ENUM_ID, то в БД будет записано само значение, привязки к значению не будет.) |
Возвращаемое значение
При успешном изменении вернет true, иначе - false.
Смотрите также
Примеры использования
Пример 1:
<?
$arFile = CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"]."/images/add_basket.gif");
CIBlockElement::SetPropertyValueCode($ELEMENT_ID, "picture", $arFile);
?>
При добавлении/изменении значений свойства можно одновременно установить и описание, если после вызова MakeFileArray добавить "description".
Пример 2:
Для обновления значения поля типа html/текст значение TYPE должно быть либо HTML, либо TEXT:
CIBlockElement::SetPropertyValueCode(ELEMENT_ID, NAME_PROPERTY, array(array("TYPE"=>"TEXT", "TEXT"=>"мой текст")));
Владимир Шершнев
|
||
Внимание! Удалять и обновлять несколько значений файлового свойства можно только ОДНИМ вызовом, а не несколькими, так как меняются ID значений свойств.
Подразумевается, что необходимо собрать для 1 свойства типа файл все удаляемые значения (PROPERTY_VALUE_ID каждого файла) в массив. Затем производить удаление. Например:
| ||
Антон Царук
|
||
Поле типа "Дата-время" заносится в формате сайта (а не в формате БД, как большинство могло подумать!): например,
| ||
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.