Catalog section list дерево

Вывод всего дерева каталога в catalog.section.list

Вывод всего дерева каталога в catalog.section.list, Как выводить в разделах каталога все дерево подразделов через catalog.section.list?

Сделала меню-аккордеон из catalog.section.list. Вызываю один и тот же компонент из обоих файлов section.php и sections.php — в одном случае с указанием «SECTION_ID», в другом без него (как в исходных компонентах по-сути).

  1. Как сделать, чтоб при переходе с главного уровня каталога в подраздел отображалось все дерево разделов, а не только текущий?
  2. Как сделать так, чтоб активный раздел открывался в меню при переходе в этом раздел?
"SECTION_ID" => $arResult["VARIABLES"]["SECTION_ID"],

то список разделов на странице подраздела перестает корректно работать.

Очень прошу вашей помощи, знаю, что на форуме много умных и не жадных до знаний ребят ))

В «SECTION_ID» поставьте 0, добавьте параметр «CURRENT_SECTION_ID»=> $arResult[«VARIABLES»][«SECTION_ID»].
В шаблоне определяйте активность $arSection[«ID»]==$arParams[«CURRENT_SECTION_ID»]

Евгений Малков, спасибо огромное за подсказку! Не могли бы вы уточнить, добавить параметр «CURRENT_SECTION_ID» — нужно в файле component.php ? И где именно нужно задавать «SECTION_ID» равным 0 — в шаблоне, настройке компонента или там же в component.php ?

Антон Пилецкий, спасибо, но при организации меню через компонент меню есть свои сложности, из-за которых и решено было делать меню через catalog.section.list, в частности:

1) вывод описания и изображений разделов;
2) вывод элементов каталога тут же в меню.

Цитата
Наталья Семёнова пишет:
Евгений Малков , спасибо огромное за подсказку! Не могли бы вы уточнить, добавить параметр «CURRENT_SECTION_ID» — нужно в файле component.php ? И где именно нужно задавать «SECTION_ID» равным 0 — в шаблоне, настройке компонента или там же в component.php ?

Евгений Малков, такой способ я уже пробовала, но при этом перестают подгружаться подразделы (сделано на основе шаблона tree).. Не подскажете, как можно реализовать это с подрузкой подразделов?

у catalog.section.list параметр TOP_DEPTH (Максимальная отображаемая глубина разделов) указан?
Попробуйте «SECTION_ID» =>»» или вообще убрать

Цитата
Евгений Малков пишет:
у catalog.section.list параметр TOP_DEPTH (Максимальная отображаемая глубина разделов) указан?
Попробуйте «SECTION_ID» =>»» или вообще убрать

В шаблоне TOP_DEPTH задается строкой: $TOP_DEPTH = $arResult[«SECTION»][«DEPTH_LEVEL»];
В вызове компонента catalog.section.list глубина указана: «TOP_DEPTH» => $arParams[«SECTION_TOP_DEPTH»],
Так же в вызове компонента каталога указан параметр: «SECTION_TOP_DEPTH» => «3»,

Если не определять SECTION_ID, то не подгружаются подкаталоги — работает только верхний уровень.

Читайте также:  Хвойное дерево шишками вверх

Евгений Малков, спасибо, что не бросаете в беде!
Шаблон ниже, а работу его можно посмотреть по ссылке

AddEditAction($arSection['ID'], $arSection['EDIT_LINK'], CIBlock::GetArrayByID($arSection["IBLOCK_ID"], "SECTION_EDIT")); $this->AddDeleteAction($arSection['ID'], $arSection['DELETE_LINK'], CIBlock::GetArrayByID($arSection["IBLOCK_ID"], "SECTION_DELETE"), array("CONFIRM" => GetMessage('CT_BCSL_ELEMENT_DELETE_CONFIRM'))); if($CURRENT_DEPTH < $arSection["DEPTH_LEVEL"]) < if ($arSection["DEPTH_LEVEL"]==2) echo '
'; if ($arSection["DEPTH_LEVEL"]==3) echo '
    '; > elseif($CURRENT_DEPTH == $arSection["DEPTH_LEVEL"]) < echo "
"; > else < while($CURRENT_DEPTH >$arSection["DEPTH_LEVEL"]) < if($arSection["DEPTH_LEVEL"]==1): echo"
"; endif; $CURRENT_DEPTH--; > > $count = $arParams["COUNT_ELEMENTS"] && $arSection["ELEMENT_CNT"] ? " (".$arSection["ELEMENT_CNT"].")" : ""; if ($_REQUEST['SECTION_ID']==$arSection['ID']) < $link = $arSection["NAME"].$count; $strTitle = $arSection["NAME"]; >else < $link = ''.$arSection["NAME"].$count.''; > if($arSection["DEPTH_LEVEL"]==1):?>
Catalog section list дерево
23, "SECTION_ID"=>$arSection["ID"], "ACTIVE"=>"Y"); $elems = CIBlockElement::GetList(Array("SORT"=>"ASC"), $arFilter, false, false, $arSelect);?>
  • while($CURRENT_DEPTH > $TOP_DEPTH) < echo "
  • "; echo "
    "; $CURRENT_DEPTH--; > ?>

    Источник

    Форум

    Вывод всего дерева каталога в catalog.section.list, Как выводить в разделах каталога все дерево подразделов через catalog.section.list?

    Сделала меню-аккордеон из catalog.section.list. Вызываю один и тот же компонент из обоих файлов section.php и sections.php — в одном случае с указанием «SECTION_ID», в другом без него (как в исходных компонентах по-сути).

    1. Как сделать, чтоб при переходе с главного уровня каталога в подраздел отображалось все дерево разделов, а не только текущий?
    2. Как сделать так, чтоб активный раздел открывался в меню при переходе в этом раздел?
    "SECTION_ID" => $arResult["VARIABLES"]["SECTION_ID"],

    то список разделов на странице подраздела перестает корректно работать.

    Очень прошу вашей помощи, знаю, что на форуме много умных и не жадных до знаний ребят ))

    В «SECTION_ID» поставьте 0, добавьте параметр «CURRENT_SECTION_ID»=> $arResult[«VARIABLES»][«SECTION_ID»].
    В шаблоне определяйте активность $arSection[«ID»]==$arParams[«CURRENT_SECTION_ID»]

    Евгений Малков, спасибо огромное за подсказку! Не могли бы вы уточнить, добавить параметр «CURRENT_SECTION_ID» — нужно в файле component.php ? И где именно нужно задавать «SECTION_ID» равным 0 — в шаблоне, настройке компонента или там же в component.php ?

    Антон Пилецкий, спасибо, но при организации меню через компонент меню есть свои сложности, из-за которых и решено было делать меню через catalog.section.list, в частности:

    1) вывод описания и изображений разделов;
    2) вывод элементов каталога тут же в меню.

    Цитата
    Наталья Семёнова пишет:
    Евгений Малков , спасибо огромное за подсказку! Не могли бы вы уточнить, добавить параметр «CURRENT_SECTION_ID» — нужно в файле component.php ? И где именно нужно задавать «SECTION_ID» равным 0 — в шаблоне, настройке компонента или там же в component.php ?

    Евгений Малков, такой способ я уже пробовала, но при этом перестают подгружаться подразделы (сделано на основе шаблона tree).. Не подскажете, как можно реализовать это с подрузкой подразделов?

    у catalog.section.list параметр TOP_DEPTH (Максимальная отображаемая глубина разделов) указан?
    Попробуйте «SECTION_ID» =>»» или вообще убрать

    Цитата
    Евгений Малков пишет:
    у catalog.section.list параметр TOP_DEPTH (Максимальная отображаемая глубина разделов) указан?
    Попробуйте «SECTION_ID» =>»» или вообще убрать

    В шаблоне TOP_DEPTH задается строкой: $TOP_DEPTH = $arResult[«SECTION»][«DEPTH_LEVEL»];
    В вызове компонента catalog.section.list глубина указана: «TOP_DEPTH» => $arParams[«SECTION_TOP_DEPTH»],
    Так же в вызове компонента каталога указан параметр: «SECTION_TOP_DEPTH» => «3»,

    Если не определять SECTION_ID, то не подгружаются подкаталоги — работает только верхний уровень.

    Центр поддержки

    Продукты

    Управление сайтом

    Битрикс24

    Интернет-магазин + CRM

    Решения

    Для интернет-магазинов

    Каталог готовых решений

    Внедрение

    Выбрать партнера

    Проверить партнера

    Стать партнером

    1С-Битрикс http://www.1c-bitrix.ru Общие вопросы info@1c-bitrix.ru Приобретение и лицензирование продуктов : sales@1c-bitrix.ru Маркетинг/мероприятия/PR marketing@1c-bitrix.ru Партнерская программа partners@1c-bitrix.ru Мы работаем с 10:00 до 19:00 по московскому времени. Офис в Москве 127287 Россия Московская область Москва 2-я Хуторская улица дом 38А строение 9 Офис в Калининграде +7 (4012) 51-05-64 Офис в Калининграде 236001 Россия Калининградская область Калининград Московский проспект 261 Офис в Киеве ukraine@1c-bitrix.ru Телефон в Киеве +3 (8044)221-55-33 Офис в Киеве 01033 Украина Калининградская область Киев улица Шота Руставели 39/41 офис 1507

    Контент для лиц от 16 лет и старше

    © 2001-2023 «Битрикс», «1С-Битрикс». Работает на 1С-Битрикс: Управление сайтом. Политика конфиденциальности

    Источник

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

    Компонент стандартный, входит в дистрибутив модуля и содержит 5 шаблонов: store_v3, .default, tree, store_v3_menu и bootstrap_v4.

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

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

    Параметры

    Поле Параметр Описание Примечание
    Основные параметры
    Тип инфо-блока IBLOCK_TYPE Указывается один из созданных в системе типов информационных блоков.
    Инфо-блок IBLOCK_ID Для выбранного типа инфоблоков указывается идентификатор необходимого информационного блока.
    ID раздела SECTION_ID Указывается код, в котором передается идентификатор раздела.
    Код раздела SECTION_CODE Указывается код раздела.
    Источник данных
    Показывать количество элементов в разделе COUNT_ELEMENTS [Y|N] При отмеченной опции будет показано количество элементов в разделе.
    Показывать количество COUNT_ELEMENTS_FILTER Выбирается для каких товаров показывать количество: активных, доступных или всех.
    Дополнительный фильтр для подсчета количества элементов в разделе ADDITIONAL_COUNT_ELEMENTS_FILTER Задается имя переменной, в которую передается параметры дополнительного фильтра для подсчета количества элементов в разделе.
    Скрывать разделы с нулевым количеством элементов HIDE_SECTIONS_WITH_ZERO_COUNT_ELEMENTS [Y|N] При отмеченной опции разделы без элементов отображаться не будут.
    Максимальная отображаемая глубина разделов TOP_DEPTH Параметр определяет максимальную глубину отображаемых разделов.
    Поля разделов SECTION_FIELDS Указываются поля раздела, которые будут отображены на странице структуры разделов. Заполняется из публичной части редактора, удерживая клавишу Ctrl либо в коде, указывая массив:
    • A — Авто + Управляемое: автоматически обновляет кеш компонентов в течение заданного времени или при изменении данных;
    • Y — Кешировать: для кеширования необходимо определить время кеширования;
    • N — Не кешировать: кеширования нет в любом случае.

    Пример вызова

    IncludeComponent("bitrix:catalog.section.list","", Array( "ADDITIONAL_COUNT_ELEMENTS_FILTER" => "additionalCountFilter", "VIEW_MODE" => "TEXT", "SHOW_PARENT_NAME" => "Y", "IBLOCK_TYPE" => "", "IBLOCK_ID" => "", "SECTION_ID" => $_REQUEST["SECTION_ID"], "SECTION_CODE" => "", "SECTION_URL" => "", "COUNT_ELEMENTS" => "Y", "COUNT_ELEMENTS_FILTER" => "CNT_ACTIVE", "HIDE_SECTIONS_WITH_ZERO_COUNT_ELEMENTS" => "N", "TOP_DEPTH" => "2", "SECTION_FIELDS" => "", "SECTION_USER_FIELDS" => "", "ADD_SECTIONS_CHAIN" => "Y", "CACHE_TYPE" => "A", "CACHE_TIME" => "36000000", "CACHE_NOTES" => "", "CACHE_GROUPS" => "Y" ) );?>

    Источник

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

    Компонент стандартный, входит в дистрибутив модуля и содержит 5 шаблонов: store_v3, .default, tree, store_v3_menu и bootstrap_v4.

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

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

    Параметры

    Поле Параметр Описание Примечание
    Основные параметры
    Тип инфо-блока IBLOCK_TYPE Указывается один из созданных в системе типов информационных блоков.
    Инфо-блок IBLOCK_ID Для выбранного типа инфоблоков указывается идентификатор необходимого информационного блока.
    ID раздела SECTION_ID Указывается код, в котором передается идентификатор раздела.
    Код раздела SECTION_CODE Указывается код раздела.
    Источник данных
    Показывать количество элементов в разделе COUNT_ELEMENTS [Y|N] При отмеченной опции будет показано количество элементов в разделе.
    Показывать количество COUNT_ELEMENTS_FILTER Выбирается для каких товаров показывать количество: активных, доступных или всех.
    Дополнительный фильтр для подсчета количества элементов в разделе ADDITIONAL_COUNT_ELEMENTS_FILTER Задается имя переменной, в которую передается параметры дополнительного фильтра для подсчета количества элементов в разделе.
    Скрывать разделы с нулевым количеством элементов HIDE_SECTIONS_WITH_ZERO_COUNT_ELEMENTS [Y|N] При отмеченной опции разделы без элементов отображаться не будут.
    Максимальная отображаемая глубина разделов TOP_DEPTH Параметр определяет максимальную глубину отображаемых разделов.
    Поля разделов SECTION_FIELDS Указываются поля раздела, которые будут отображены на странице структуры разделов. Заполняется из публичной части редактора, удерживая клавишу Ctrl либо в коде, указывая массив:
    • A — Авто + Управляемое: автоматически обновляет кеш компонентов в течение заданного времени или при изменении данных;
    • Y — Кешировать: для кеширования необходимо определить время кеширования;
    • N — Не кешировать: кеширования нет в любом случае.

    Пример вызова

    IncludeComponent("bitrix:catalog.section.list","", Array( "ADDITIONAL_COUNT_ELEMENTS_FILTER" => "additionalCountFilter", "VIEW_MODE" => "TEXT", "SHOW_PARENT_NAME" => "Y", "IBLOCK_TYPE" => "", "IBLOCK_ID" => "", "SECTION_ID" => $_REQUEST["SECTION_ID"], "SECTION_CODE" => "", "SECTION_URL" => "", "COUNT_ELEMENTS" => "Y", "COUNT_ELEMENTS_FILTER" => "CNT_ACTIVE", "HIDE_SECTIONS_WITH_ZERO_COUNT_ELEMENTS" => "N", "TOP_DEPTH" => "2", "SECTION_FIELDS" => "", "SECTION_USER_FIELDS" => "", "ADD_SECTIONS_CHAIN" => "Y", "CACHE_TYPE" => "A", "CACHE_TIME" => "36000000", "CACHE_NOTES" => "", "CACHE_GROUPS" => "Y" ) );?>

    Источник

    Оцените статью