Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Узнать есть ли у раздела в котором находимся, подразделы

00 голосов
6
Получаем определенный раздел, и вот нужно узнать есть ли у этого раздела подразделы, если подразделов нет, то делаем определенные действия. Как узнать наличие подразделов?
спросил 09 Сен, 13 от Kiriel (2,010 баллов)

6 Ответы

00 голосов
Код
$intCount = CIBlockSection::GetCount(array('IBLOCK_ID' => Ваш_инфоблок,'SECTION_ID' => Ваша_секция));
ответил 09 Сен, 13 от Pomnep (13,960 баллов)
00 голосов
Евгений Жуков,
Чуть-чуть не так. Мне нужно узнать сколько подразделов в том разделе чей код(#CODE#) известен.
ответил 04 Дек, 13 от Kiriel (2,010 баллов)
00 голосов
Тогда через два запроса - первым получаете ID секции, второй - вышеприведенный код.
ответил 16 Март, 14 от Pomnep (13,960 баллов)
00 голосов
Евгений Жуков,
if (CModule::IncludeModule("iblock")) {
$arFilter = Array('IBLOCK_ID'=>"1", 'CODE'=>$_REQUEST["NAME"]);
$db_list = CIBlockSection::GetList(Array($by=>$order), $arFilter, true);
while($ar_result = $db_list->Fetch())
{
$ar_result['ID'];
}

$intCount = CIBlockSection::GetCount(array('IBLOCK_ID' => "1",'SECTION_ID' => $ar_result['ID']));
echo $intCount;
}

Выводит 4. Хотя в этом разделе 2 подраздела.
ответил 08 Июль, 14 от Kiriel (2,010 баллов)
00 голосов
Цитата
Артур Глазов пишет:
$arFilter = Array('IBLOCK_ID'=>"1", 'CODE'=>$_REQUEST["NAME"]);
$db_list = CIBlockSection::GetList(Array($by=>$order), $arFilter, true);

попробуйте так:
Код
$arFilter = Array('IBLOCK_ID'=>"1", '=CODE'=>$_REQUEST["NAME"]);
$db_list = CIBlockSection::GetList(Array($by=>$order), $arFilter, false); [/QUOTE]
ответил 08 Ноя, 14 от Pomnep (13,960 баллов)
00 голосов
Код
<?if (CModule::IncludeModule("iblock")) {
$arFilter = Array('IBLOCK_ID'=>"1", '=CODE'=>$_REQUEST["NAME"]); 
$db_list = CIBlockSection::GetList(Array($by=>$order), $arFilter, false);
while($ar_result = $db_list->Fetch())
{
}

$intCount = CIBlockSection::GetCount(array('IBLOCK_ID' => "1",'SECTION_ID' => $ar_result['ID']));
echo $intCount;
}
?>

Рисунок

Всегда показывает 4. Если больше разделов, если 0 разделов.
ответил 06 Март, 15 от Kiriel (2,010 баллов)

Похожие вопросы

0 голосов
3 ответов
0 голосов
1 ответ
0 голосов
2 ответов
спросил 18 Март, 14 от GIN1 (200 баллов)
0 голосов
4 ответов