Метод CIBlockSection::Update() используется для изменения существующих разделов инфоблоков в 1С-Битрикс. С его помощью можно обновлять название раздела, символьный код, описание, изображения, родительский раздел и другие поля.
Краткий ответ
Для обновления раздела необходимо создать объект класса CIBlockSection, указать ID раздела и массив изменяемых полей, после чего вызвать метод Update().
<?php
$bs = new CIBlockSection();
$arFields = [
"NAME" => "Новое название раздела"
];
if ($bs->Update(15, $arFields)) {
echo "Раздел обновлен";
} else {
echo $bs->LAST_ERROR;
}
Описание функции
Метод обновляет существующий раздел инфоблока по его идентификатору. Изменяются только поля, переданные в массиве $arFields. Остальные данные раздела остаются без изменений.
CIBlockSection::Update позволяет изменять структуру разделов, обновлять SEO-информацию, изображения и пользовательские поля.
В случае ошибки метод возвращает false, а подробное описание причины ошибки можно получить через свойство LAST_ERROR.
ORM обеспечивает более удобную работу с данными и рекомендуется для новых проектов на Битрикс.
FAQ
Что возвращает CIBlockSection::Update?
Метод возвращает true при успешном обновлении и false при возникновении ошибки.
Как получить текст ошибки?
echo $bs->LAST_ERROR;
Можно ли изменить только одно поле?
Да. Метод обновляет только те поля, которые переданы в массиве $arFields.
Как изменить родительский раздел?
Необходимо передать новый ID родительского раздела в поле IBLOCK_SECTION_ID.
[
"IBLOCK_SECTION_ID" => 3
]
Как обновить изображение раздела?
Используйте поля PICTURE или DETAIL_PICTURE вместе с функцией CFile::MakeFileArray().
Что использовать в новых проектах?
Для новых разработок рекомендуется использовать Bitrix\Iblock\SectionTable и ORM D7. Метод CIBlockSection::Update остается актуальным для поддержки существующих проектов и готовых решений на 1С-Битрикс.