Как создать подраздел в торговом каталоге?
// добавить раздел
$bs = new CIBlockSection;
$arFields = Array(
"ACTIVE" => $ACTIVE,
"IBLOCK_ID" => $IBLOCK_ID,
"IBLOCK_SECTION_ID" => $IBLOCK_SECTION_ID,
"NAME" => $NAME
);
if($ID > 0)
{
$res = $bs->Update($ID, $arFields);
}
else
{
$ID = $bs->Add($arFields);
$res = ($ID>0);
}
if(!$res)
echo $bs->LAST_ERROR;
echo $ID; //ид раздела
$IBLOCK_SECTION_ID = $ID;
//----------
$NAME="Подраздел";
//$bs = new CIBlockSection;
$arFields = Array(
"ACTIVE" => $ACTIVE,
"IBLOCK_ID" => $IBLOCK_ID,
"IBLOCK_SECTION_ID" => $IBLOCK_SECTION_ID,
"NAME" => $NAME
);
if($ID > 0)
{
$res = $bs->Update($ID, $arFields);
}
else
{
$ID = $bs->Add($arFields);
$res = ($ID>0);
}
if(!$res)
echo $bs->LAST_ERROR;
echo $ID; //ид раздела
пишет: Нельзя перенести раздел внутрь себя.
Как создать раздел, а внутри него подраздел?
Ответы (1 шт):
Автор решения: maxkrasnov
→ Ссылка
Получается, что $ID равно $IBLOCK_SECTION_ID, во второй раз когда тот же код используете, там зачем стоит проверка $ID, из-за этого получается, что вы пытаетесь обновить родителя, поправил чутка для примера:
// добавить раздел
$bs = new CIBlockSection;
$arFields = Array(
"ACTIVE" => $ACTIVE,
"IBLOCK_ID" => $IBLOCK_ID,
"IBLOCK_SECTION_ID" => $IBLOCK_SECTION_ID,
"NAME" => $NAME
);
if($ID > 0)
{
$res = $bs->Update($ID, $arFields);
}
else
{
$ID = $bs->Add($arFields);
$res = ($ID>0);
}
if(!$res)
echo $bs->LAST_ERROR;
echo $ID; //ид раздела
$IBLOCK_SECTION_ID = $ID;
//----------
$NAME="Подраздел";
//$bs = new CIBlockSection;
$arFields = Array(
"ACTIVE" => $ACTIVE,
"IBLOCK_ID" => $IBLOCK_ID,
"IBLOCK_SECTION_ID" => $IBLOCK_SECTION_ID,
"NAME" => $NAME
);
$subID = $bs->Add($arFields);
$res = ($subID>0);
if(!$res)
echo $bs->LAST_ERROR;
echo $subID; //ид раздела