Добавление секции в инфоблок
Для добавления секции в инфоблок, нам поможет класс старого ядра CIBlockElement::Add
.
В данном примере я работаю с таблицей b_iblock_section_property
которая содержит свойства секции инфоблока и b_iblock_section
которая содержит саму секцию инфоблока.
<?
// это подключаем если код ниже будет исполняться в отдельном файле php
require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php");
// подключаем нужный класс для работы с инфоблоком
CModule::IncludeModule('iblock');
// обязательно указываем класс
$bs = new CIBlockSection;
// массив данных для добавления секции
$arLoadSectionArray = array(
// активен (Y), или не активен (N)
"ACTIVE" => "Y",
// в корне создаем секцию (false), или в категории (указываем id категории)
"IBLOCK_SECTION_ID" => 150,
// id инфоблока куда будем добавлять секцию
"IBLOCK_ID" => 48,
// название секции
"NAME" => "Название секции",
// описание секции
"DESCRIPTION" => "Описание секции",
// тип описания секции text или html
"DESCRIPTION_TYPE" => "html",
// добавляем символьный код
"CODE" => "test",
// сортировка
"SORT" => 100,
// ссылка на картинку
"PICTURE" => CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"] . "/images.png"),
// добавляем в свойство секции типа строка данные
"UF_ID_CATEGORIES_MARKETPLEJS" => "Свойство секции",
);
// с помощью Add добавляем новую секцию
if ($newSection = $bs->Add($arLoadSectionArray)) {
echo "ID новой секции: " . $newSection;
} else {
echo "Error: " . $bs->LAST_ERROR;
}