Доброе время суток! Очень критичная ошибка.
$Ielem = new CIBlockElement;
$Ielem -> Update($ob["ID"], Array("SORT"=>rand(300, 10000)));
Вот такая безобидная штука по документации поломала весь наш сайт в секунду. Свойства все очистились. Хорошо бекап был.
Из Документации
bool CIBlockElement::Update( int ID, array arFields, bool bWorkFlow = false, bool bUpdateSearch = true, bool bResizePictures = false, bool bCheckDiskQuota = true );
arFields
Массив вида Array("поле"=>"значение", ...), содержащий значения инфоблоков и дополнительно может содержать поле "PROPERTY_VALUES" - массив со всеми значениями свойств элемента в виде массива Array("код свойства"=>"значение свойства"
. Где
"код свойства" - числовой или символьный код свойства,
"значение свойства" - одиночное значение, либо массив значений (если свойство множественное).
Если массив PROPERTY_VALUES задан, то он должен содержать полный набор значений свойств для данного элемента, т.е. если в нем будет отсутствовать одно из свойств, то все его значения для данного элемента будут удалены.
Это справедливо для всех типов свойств кроме типа файл. Файлы надо удалять через массив с параметром "del"=>"Y".
Дополнительно для сохранения значения свойств см: ::,::
------------------------------------------------------------------------------------------------------------
Но у меня нет массива PROPERTY_VALUES, какого черта очистились все свойства???
Да и зачем он нужен такой глючный функционал с очищением всех свойств при задании одного, если свойства мы можем других методом изменить.
Очень срочно! Подскажите куда копать!!!
$Ielem = new CIBlockElement;
$Ielem -> Update($ob["ID"], Array("SORT"=>rand(300, 10000)));
Вот такая безобидная штука по документации поломала весь наш сайт в секунду. Свойства все очистились. Хорошо бекап был.
Из Документации
bool CIBlockElement::Update( int ID, array arFields, bool bWorkFlow = false, bool bUpdateSearch = true, bool bResizePictures = false, bool bCheckDiskQuota = true );
arFields
Массив вида Array("поле"=>"значение", ...), содержащий значения инфоблоков и дополнительно может содержать поле "PROPERTY_VALUES" - массив со всеми значениями свойств элемента в виде массива Array("код свойства"=>"значение свойства"
. Где "код свойства" - числовой или символьный код свойства,
"значение свойства" - одиночное значение, либо массив значений (если свойство множественное).
Если массив PROPERTY_VALUES задан, то он должен содержать полный набор значений свойств для данного элемента, т.е. если в нем будет отсутствовать одно из свойств, то все его значения для данного элемента будут удалены.
Это справедливо для всех типов свойств кроме типа файл. Файлы надо удалять через массив с параметром "del"=>"Y".
Дополнительно для сохранения значения свойств см: ::,::
------------------------------------------------------------------------------------------------------------
Но у меня нет массива PROPERTY_VALUES, какого черта очистились все свойства???
Да и зачем он нужен такой глючный функционал с очищением всех свойств при задании одного, если свойства мы можем других методом изменить.
Очень срочно! Подскажите куда копать!!!