хм... а вот вознмк все таки вопрос.
Я нашел те элементы которые нужно деактивировать. А как собственно правильно это сделать?
Проблема в том, что я пытался это сделать при помощи
CIBlockElement::Update следующим образом:
Код |
---|
$el = new CIBlockElement;
$arProps = Array(
"ACTIVE" => "N"
);
$res = $el->Update($arFields["ID"], $arProps);
|
в результате элемент становится неактивным, но при этом удаляются все его другие свойтсва. Оно и в общем очевидно, я ведь их здесь не задал.
Ладно, смотрим другой метод
CIBlockElement::SetPropertyValuesКод |
---|
CIBlockElement::SetPropertyValues($arFields["ID"],$ID_IB,"N","ACTIVE"); |
Не работает. Видимо потому что свойство активности не добавлено мной, а явлеется предопределенным.
Суть вопроса: единственный путь который у меня есть - использовать
CIBlockElement::Update, но при этом мне необходимо прочитать все остальные свойства (в том числе и созданные мной) и при использовании этого update занести их все в $arProps? или же есть способ похожий на второй?
Ибо информационный блок, с которым приходится работать имеет большое количество собственных свойств. Читать их, а потом записывать их же, как-то не рационально, тогда как достаточно было бы изменить только одно. Тем более в условиях ограниченности ресурсов веб хостинга.