Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Изменение основных свойств элемента

00 голосов
2
Доброго времени суток, уважаемые форумчане.
Насколько я понимаю, для добавления информации об элементе (именно добавлении, чтобы вся остальные свойства и поля остались те же) можно воспользоваться функцией
Код
CIBlockElement::SetPropertyValuesEx($id,$block,$znachenie-svoistva,$kod_svoistvo) ...
все бы хорошо, если добавляются (обновляются) дополнительные свойства (типа артикул и т.д.), а как обновить основные поля типа "Тэги", "Название", "Детальное описание", "Описание для анонса".
Просто у дополнительных полей есть код свойства, а как прописать основные поля?
P.S. Возможно, это можно сделать через функцию CIBlockElement::Update, если бы она обновляла те поля, которые ей передали, а остальные оставляла прежними (если бы был вариант CIBlockElement::UpdateEx).
Заранее благодарен за ответ.
спросил 12 Июнь, 13 от Hakasama (300 баллов)

2 Ответы

00 голосов
CIBlockElement::Update обновляет только те поля, что переданы ему (+ MODIFIED_BY и TIMESTAMP_X)
ответил 12 Июнь, 13 от Pomnep (13,960 баллов)
00 голосов
Спасибо огромное за ответ.

Просто в документации вроде прописано: http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockelement/update.php

Цитата
Код
bool 
 CIBlockElement::Update(
 int ID,
 array arFields,
 bool bWorkFlow = false,
 bool bUpdateSearch = true,
 bool bResizePictures = false
);


arFields - Массив вида Array("поле"=>"значение", ...), содержащий значения полей элемента инфоблоков и дополнительно может содержать поле "PROPERTY_VALUES" - массив со всеми значениями свойств элемента в виде массива Array("код свойства"=>"значение свойства"). Где
"код свойства" - числовой или мнемонический код свойства,
"значение свойства" - одиночное значение, либо массив значений (если свойство множественное).
Если массив PROPERTY_VALUES задан, то он должен содержать полный набор значений свойств для данного элемента, т.е. если в нем будет отсутствовать одно из свойств, то все его значения для данного элемента будут удалены.
Это справедливо для всех типов свойств кроме типа файл. Файлы надо удалять через массив с параметром "del"=>"Y".
Дополнительно для сохранения значения свойств см: CIBlockElement::SetPropertyValues(), CIBlockElement::SetPropertyValueCode().


И все-таки как изменить стандартные поля типа "название", "детальное описание" и "описание для анонса", какой использовать код поля для CIBlockElement::Update или CIBlockElement::SetPropertyValueEx
ответил 24 Июнь, 13 от Hakasama (300 баллов)
А использовать CIBlockElement::Update для полей, а затем CIBlockElement::SetPropertyValueEx для нужных свойств - не?

Похожие вопросы

0 голосов
4 ответов
спросил 09 Фев, 14 от XIDAN (620 баллов)
0 голосов
2 ответов
спросил 04 Май, 13 от dQ (180 баллов)
0 голосов
4 ответов
спросил 14 Янв, 13 от OPEX (720 баллов)
0 голосов
4 ответов
спросил 30 Янв, 14 от Taran7 (100 баллов)
0 голосов
1 ответ