|
|
|
|
|
|
|
Помимо "PROPERTY_VALUES" в массиве полей может быть еще и сверхсекретный массив с ключом "RIGHTS" - с его помощью можно настроить расширенный доступ к элементу инфоблока.
Например, передавая в качестве $arFields вот такой массив
|
|||
|
|
|
|
ВНИМАНИЕ! Проблема актуальна на последней текущей версии 15.5.10.
Такая запись не пройдет и будет ошибка Fatal error: Call to undefined method CBitrixComponent::CheckFields() in /bitrix/modules/iblock/classes/general/iblocksection.php on line ...
Требуется обязательно использовать конструктор такого вида:
|
|||||
|
|
|
|
IBLOCK_SECTION_ID основной раздел элемента
IBLOCK_SECTION - массив разделов к которым привязан элемент |
|
|
|
|
|
Для установки дат DATE_ACTIVE_FROM и DATE_ACTIVE_TO используется формат сайта: d.m.Y. Передавать даты в формате БД - не получается...
|
|
|
|
|
|
Тонкий момент.
Если в init.php задан обработчик OnBeforeIBlockElementUpdate, в котором происходит манипуляция с массивом $arFields[PROPERTY_VALUES] (изменение его значений), а где-то в коде сайта вызывается функция CIBlockElement::Update без задания массива PROPERTY_VALUES, то результатом ее выполнения может стать очистка значений свойств элемента (так как в обработчик массив PROPERTY_VALUES не поступит, что, в общем-то, логично). Поэтому обязательно в OnBeforeIBlockElementUpdate проверяем, есть ли вообще что-то в массиве PROPERTY_VALUES:
|
|||
|
|
|
|
Удаление PREVIEW_PICTURE
|
|||
|
|
|
|
Для того чтобы опубликовать последний черновик надо сделать так:
|
||||
|
|
|
|||