Документация для разработчиков
Темная тема

Update

Описание и параметры

bool CIBlock::Update(
	int ID,
	array arFields
);

Метод изменяет параметры информационного блока с кодом ID. Модифицировать поля, а также отменить изменение параметров можно добавив обработчик события OnBeforeIBlockUpdate. После успешного добавления инфоблока вызываются обработчики события OnAfterIBlockUpdate. Нестатический метод.

Параметры вызова

ПараметрОписание
IDID изменяемого информационного блока.
arFieldsМассив Array("поле"=>"значение", ...). Содержит значения всех полей информационного блока.
Дополнительно в поле SITE_ID должен находиться массив идентификаторов сайтов, к которым привязан изменяемый информационный блок.
Кроме того, с помощью поля "GROUP_ID", значением которого должен быть массив соответствий кодов групп правам доступа, можно установить права для разных групп на доступ к информационному блоку(см. CIBlock::SetPermission()).
Если задано поле "FIELDS", то будут выполнены настройки полей инфоблока (см. CIBlock::SetFields).

Возвращаемое значение

Метод возвращает true если изменение прошло успешно, при возникновении ошибки метод вернет false, а в свойстве LAST_ERROR объекта будет содержаться текст ошибки.

Примеры использования

<?
$arPICTURE = $_FILES["PICTURE"];
$ib = new CIBlock;
$arFields = Array(
	"ACTIVE" => $ACTIVE,
	"NAME" => $NAME,
	"CODE" => $CODE,
	"LIST_PAGE_URL" => $LIST_PAGE_URL,
	"DETAIL_PAGE_URL" => $DETAIL_PAGE_URL,
	"IBLOCK_TYPE_ID" => $type,
	"SITE_ID" => Array("en", "de"),
	"SORT" => $SORT,
	"PICTURE" => $arPICTURE,
	"DESCRIPTION" => $DESCRIPTION,
	"DESCRIPTION_TYPE" => $DESCRIPTION_TYPE,
	"GROUP_ID" => Array("2"=>"D", "3"=>"R")
);
if ($ID > 0)
	$res = $ib->Update($ID, $arFields);
else
{
	$ID = $ib->Add($arFields);
	$res = ($ID>0);
}
?>


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
0
Алексей Попович
Чтобы программно отключить проверку на уникальность символьного кода разделов инфоблока, необходимо выполнить такой код:
Код
\Bitrix\Main\Loader::includeModule('iblock');
$arFields = [];
$arFields["SECTION_CODE"]["DEFAULT_VALUE"]["UNIQUE"] = "N"; // отключаем проверку на уникальность
$arFields["SECTION_CODE"]["IS_REQUIRED"] = "Y"; // оставляем обязательность самого символьного кода
\CIBlock::SetFields($IBLOCK_ID,[$arFields]);
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх