@DeeUs

Как вывести список разделов и дочерних элементов?

Здравствуйте!
Как вывести список разделов и дочерних элементов?
в таком виде:
раздел1
- элемент1
- элемент2
- элемент3
раздел2
- элемент1
- элемент2
- элемент3
и т.д.

У меня выводится только один элемент раздела:
раздел1
- элемент1
раздел2
- элемент1
пример кода

<?php
if (CModule::IncludeModule("iblock")){
	$iblock_id = 10;
	$arFilter = array(
		'ACTIVE' => 'Y',
		'IBLOCK_ID' => $iblock_id,
		'GLOBAL_ACTIVE'=>'Y',
	);
	$arSelect = array('IBLOCK_ID','ID','NAME');
	$arOrder = array('SORT'=>'ASC');
	$arSections = CIBlockSection::GetList($arOrder, $arFilter, false, $arSelect);
	while($arSection = $arSections->GetNext()){
		?>
		<div class="faq_section">
			<div class="faq_section_title"><?=$arSection['NAME']?></div>
			<div class="faq_section_items">
				<?php
				$_arFilter = array(
					'ACTIVE' => 'Y',
					'IBLOCK_ID' => $iblock_id,
					'GLOBAL_ACTIVE'=>'Y',
					'SECTION_ID' => $arSection['ID']
				);
				$_arSelect = array('IBLOCK_ID','ID','NAME','DETAIL_TEXT');
				$arElements = CIBlockElement::GetList($arOrder, $_arFilter, false, $_arSelect);
				while($arElement = $arElements->GetNext()){
					?>
					<div class="faq_item">
						<div class="question"><?=$arElement['NAME']?></div>
						<div class="answer"><?=$arElement['DETAIL_TEXT']?></div>
					</div>
					<?php
				}
				?>
			</div>
		</div>
		<?php
	}
}
?>

  • Вопрос задан
  • 299 просмотров
Решения вопроса 1
alexyarik
@alexyarik
Битрикс разработчик
Это называется получение и обработка данных, группировка элементов по идентификатору радела, т.е. РНР программирование. Сделать это можно в файле result_modifier.php например компонента news.list или catalog.section
https://dev.1c-bitrix.ru/learning/course/index.php...
https://dev.1c-bitrix.ru/learning/course/index.php...
Формируете свой результирующий массив с нужными ключами, и потом в шаблоне компонента выводите в нужном виде
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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