Полезные статьи по разработке сайта на системе управления 1С-Битрикс. Программирование. Верстка.

Вывод разделов инфоблока по первой букве. Алфавитный указатель в Битрикс

  120
Для вывода разделов инфоблока сгруппированных по первой букве наименования раздела и создания алфавитного указателя на Битрикс можно воспользоваться следующим кодом и разместить его  в шаблоне компонента catalog.section.list (Разделы инфоблока):
 <div class="CatalogList">
	<div class="Items">
		<?
		foreach ($arResult["SECTIONS"] as $arSectionArray) {
			  $sectFName = $arSectionArray['NAME'];
			  $sectFLetter = mb_substr($sectFName, 0, 1, 'UTF-8');
			  $arrayFirsletter .= '\'' . $sectFLetter . '\',';
		}

		eval('$FirstLetter=array(' . $arrayFirsletter . ');');
		extract($FirstLetter);
		$uniuLetter = array_unique($FirstLetter); //в массиве $uniuqLetter получаем уникальные, первые буквы, всех разделов инфоблока

		foreach ($uniuLetter as $onlyOnceLetter) { //Проходим циклом по нашему массиву с уникальными буквами и выводим их пользователю с помощью $onlyOnceLetter
		?>
		<div class="Item">
			<?echo '<div class="Letter">' . $onlyOnceLetter . '</div>';?>
			<div class="RegionList">
				<ul>
				<?foreach ($arResult["SECTIONS"] as $arSection) {
					 if (mb_substr($arSection['NAME'], 0, 1) == $onlyOnceLetter) { ?>
					<li class="Parent Name<?echo $arSection['ID']; ?>">
						<a href="<?= $arSection["SECTION_PAGE_URL"] ?>">
						<?echo $arSection['NAME']; ?>
						</a>
					</li>
					<?}?>
				<?}?>
				</ul>
			</div>
		</div>
		<?}?>
	</div>
</div>