Получить все разделы и подразделы на сайте Bitrix — PROG-TIME

Получить все разделы и подразделы на сайте Bitrix

19.09.2021
Содержание:

В новой записи я вам покажу как получить список всех разделов и подразделов в Bitrix. Это не самый лучший способ для использования в работе, так как здесь производится запрос в запросе, а это большая нагрузка на ресурсы сайта.

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

Для указания родителя пропишите id данного родителя для SECTION_ID в качестве параметра для CIBlockSection::GetList.

<?php
/* ================================ */
/* ПОЛНЫЙ СПИСОК ПОДРАЗДЕЛОВ УКАЗАННОГО РАЗДЕЛА */
/* ================================ */
/* 

IBLOCK_ID - id инфоблока
SECTION_ID - id раздела родителя

*/

$rsParentSection = CIBlockSection::GetList(
	['name' => 'asc'],
	['IBLOCK_ID' => 5, 'SECTION_ID' => 341, 'ACTIVE' => 'Y']
);

while ($arParentSection = $rsParentSection->GetNext()) {
	$arrFullListSection[] = $arParentSection["SECTION_PAGE_URL"];

	$arFilter = [
		'IBLOCK_ID' => $arParentSection['IBLOCK_ID'],
		'>LEFT_MARGIN' => $arParentSection['LEFT_MARGIN'],
		'<RIGHT_MARGIN' => $arParentSection['RIGHT_MARGIN'],
		'>DEPTH_LEVEL' => $arParentSection['DEPTH_LEVEL']
	];

	/* делаем запрос внутри запроса по id подраздела */
	$rsSect = CIBlockSection::GetList(
		[
			'left_margin' => 'asc'
		],
		$arFilter
	);

	while ($arSect = $rsSect->GetNext()) {
		$arrFullListSection[] = $arSect["SECTION_PAGE_URL"];
	}
}

foreach ($arrFullListSection as $section) {
	$strListSection .= $section . "\n";
}

/* ================================ */
/* ================================ */

В моём случает я получаю ссылки (SECTION_PAGE_URL) для подразделов, чтобы в дальнейшем настроить редиректы для них. Приятного использования!

На этом всё!
Больше интересных статей в нашей группе - https://vk.com/progtime
Вы так же можете разместить свой вопрос на нашем форуме, где другие программисты смогут вам помочь в решение вашей задачи - https://vk.com/prog_time
Так же прокачивайте свои навыки на нашем канале - https://www.youtube.com/c/ProgTime
Наши планы
  • Написание материала для курса по разработке ботов на Telegram
  • Разработка универсального парсера на PHP

Поддержите мой сайт!

Каждый переведённый донат, мотивирует на создание новых записей и уроков на YouTube

Контакты для связи

Технология на prog-time
Telegram
https://t.me/prog_time_bot