Документация для разработчиков
Недоступно в редакциях: Стандарт, Старт

Структура разделов

Компонент выводит список разделов инфоблока. Компонент стандартный, входит в дистрибутив модуля и содержит 4 шаблона: .default, old_version (шаблон .default до версии 14.0), tree и visual.

В визуальном редакторе компонент расположен по пути Контент > Каталог > Структура разделов.

Компонент относится к модулю Информационные блоки.

Пример вызова компонента catalog.section.list

Секции настроек компонента:

  • Основные параметры
  • Источник данных
  • Внешний вид
  • Шаблоны ссылок
  • Настройки кеширования
  • Дополнительные настройки
  • Описание параметров

    Поле Параметр Описание
    Основные параметры
    Тип инфо-блока IBLOCK_TYPE Указывается один из созданных в системе типов информационных блоков.
    Инфо-блок IBLOCK_ID Для выбранного типа инфоблоков указывается идентификатор необходимого информационного блока.
    ID раздела SECTION_ID Указывается код, в котором передается идентификатор раздела.
    Код раздела SECTION_CODE Указывается код раздела.
    Источник данных
    Показывать количество элементов в разделе COUNT_ELEMENTS [Y|N] При отмеченной опции будет показано количество элементов в разделе.
    Максимальная отображаемая глубина разделов TOP_DEPTH Параметр определяет максимальную глубину отображаемых разделов.
    Поля разделов SECTION_FIELDS Указываются поля раздела, которые будут отображены на странице структуры разделов. Заполняется из публичной части редактора, удерживая клавишу Ctrl либо в коде, указывая массив:
     Array("ID","CODE",""),
    При выборе пункта (не выбрано)-> и без указания вычисления полей в строках ниже (т.е. если задан пустой массив) ничего отображаться не будет.
    Свойства раздела SECTION_USER_FIELDS Указываются свойства раздела, которые будут отображены на странице. Заполняется из публичной части редактора, удерживая клавишу Ctrl либо в коде, указывая массив. При выборе пункта (не выбрано)-> и без указания вычисления полей в строках ниже, свойства не будут выведены.
    Внешний вид (для шаблона .default и visual)
    Вид списка подразделовVIEW_MODEОпределяется способ отображения списка подразделов: в виде списка (LINE), многоуровнего списка (LIST), текста (TEXT) или плитки (TILE).
    Показывать название разделаSHOW_PARENT_NAME[Y|N] При отмеченной опции будет выводится название раздела (кроме раздела верхнего уровня).
    Шаблоны ссылок
    URL, ведущий на страницу с содержимым раздела SECTION_URL Указывается путь к странице с содержимым раздела.
    Настройки кеширования
    Тип кеширования CACHE_TYPE Тип кеширования:
    • A - Авто + Управляемое: автоматически обновляет кеш компонентов в течение заданного времени или при изменении данных;
    • Y - Кешировать: для кеширования необходимо определить время кеширования;
    • N - Не кешировать: кеширования нет в любом случае.
    Время кеширования (сек.) CACHE_TIME Время кеширования, указанное в секундах.
    Учитывать права доступа CACHE_GROUPS [Y|N] При отмеченной опции будут учитываться права доступа при кешировании.
    Дополнительные настройки
    Включать раздел в цепочку навигации ADD_SECTIONS_CHAIN [Y|N] При отмеченной опции название или заголовок (если задан в настройках SEO) раздела будет включен в цепочку навигации.


    Пользовательские комментарии

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

    Для этого нужно всего лишь авторизоваться на сайте

    Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

    Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
    0
    Андрей Воробьев
    Чтобы выбрать все пользовательские поля раздела укажите
       
    Код
         "SECTION_USER_FIELDS" => array('UF_*'),
    6
    Роберт Басыров
    Вывод разделов каталога в 2 колонки требует изменения в компоненте bitrix:catalog.section.list

    В файле result_modifier.php:
    Код
    <?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); 
    
    // Модифицируем пункты для разбивки на колонки 
    $arCopy = $arResult["SECTIONS"]; 
    foreach ($arResult["SECTIONS"] as $arSection) 
    { 
       if ($arSection["IBLOCK_SECTION_ID"] == $arParams["SECTION_ID"]) 
       { 
          $SUBITEMS = array(); 
          foreach ($arCopy as $subItem) 
          { 
             if ($subItem["IBLOCK_SECTION_ID"] == $arSection["ID"]) 
             $SUBITEMS[] = $subItem; 
          } 
          $arSection["ITEMS"] = $SUBITEMS; 
          $SECT[] = $arSection; 
       } 
    } 
    $arResult["SECT"] = $SECT; 
    
    ?> 


    В шаблоне компонента (template.php)

    Код
    <? 
                $cols = 3; // Число колонок 
                ?> 
    
                <table class="category-table"> 
                   <tr> 
    
                <?$i=0; foreach ($arResult["SECT"] as $arSection): $i++; ?> 
    
                   <td> 
                      <?if (false && $arSection["PICTURE"]["SRC"]):?> 
                      <img src="<?=$arSection["PICTURE"]["SRC"]?>" width="<?=$arSection["PICTURE"]["WIDTH"]?>" height="<?=$arSection["PICTURE"]["HEIGHT"]?>" alt="<?=$arSection["PICTURE"]["NAME"]?>" title="<?=$arSection["PICTURE"]["NAME"]?>" align="right" /> 
                      <?endif;?> 
    
                      <b><a href="<?=$arSection["SECTION_PAGE_URL"]?>"><?=$arSection["NAME"]?></a></b> 
                      <?if (!empty($arSection["ITEMS"])):?> 
                         <ul> 
                         <?foreach ($arSection["ITEMS"] as $arItem):?> 
                            <li><a href="<?=$arItem["SECTION_PAGE_URL"]?>"><?=$arItem["NAME"]?></a></li> 
                         <?endforeach;?> 
                         </ul> 
                      <?endif;?> 
                    
                   </td> 
    
                   <?if ($i >= $cols): $i=0;?> 
                      </tr><tr> 
                   <?endif;?> 
    
                <?endforeach;?> 
    
                   <?while ($i < $cols):?> 
                      <td>&nbsp;</td> 
                   <?$i++;endwhile;?> 
    
                   </tr> 
                </table> 
    © «Битрикс», 2001-2018, «1С-Битрикс», 2018
    Наверх