RSS
Вывести все подразделы текущего раздела, Люди добрые, немножко вашего внимания и ваша помощь
 
Люди добрые, немножко вашего внимания и помощь
Появилась необходимость вывести все подразделы текущего раздела

Структура:
1. Раздел со всеми разделами одним списком - 2. Раздел из всех разделов - 3. Подразделы из (2.) - 4. Список товаров из подразделов.

Нужно чтобы подразделы (2.) , отображались на каждой странице списка товаров (4.)

Сейчас через компонент catalog.section.list могу вывести из определенного раздела, указав "SECTION_CODE" => "kosmetika_dlya_gostinits" определенного раздела (2.)

Не судите строго если что то написано не так, я еще совсем новичок в этом всем. Но буду очень рад и благодарен вашей помощи.
Код
<?$APPLICATION->IncludeComponent(
   "bitrix:catalog.section.list",
   "catalog_struktr_spa",
   Array(
      "ADD_SECTIONS_CHAIN" => "Y",
      "CACHE_FILTER" => "N",
      "CACHE_GROUPS" => "Y",
      "CACHE_TIME" => "36000000",
      "CACHE_TYPE" => "A",
      "COMPONENT_TEMPLATE" => "tree",
      "COMPOSITE_FRAME_MODE" => "A",
      "COMPOSITE_FRAME_TYPE" => "AUTO",
      "COUNT_ELEMENTS" => "N",
      "FILTER_NAME" => "sectionsFilter",
      "IBLOCK_ID" => "2",
      "IBLOCK_TYPE" => "catalog",
      "SECTION_CODE" => "kosmetika_dlya_gostinits",
      "SECTION_FIELDS" => array(0=>"NAME",1=>"",),
      "SECTION_ID" => "",
      "SECTION_URL" => "#SECTION_CODE#",
      "SECTION_USER_FIELDS" => array(0=>"",1=>"",),
      "SHOW_PARENT_NAME" => "Y",
      "TOP_DEPTH" => "1",
      "VIEW_MODE" => "LINE"
   )
);?>
 
Внутри под раздела получаете его родителя (раздел верхнего уровня, в вашем случае)
Код
$SECTION_ID = $arResult['SECTION_ID']; //ID текущего раздела
$sectionParent = CIBlockSection::GetNavChain(false, $SECTION_ID);
    while($arItem = $sectionParent->Fetch()){
        $parentSectionId = $arItem['ID']; // ID родителя (там массив, если больше одного родителя)
    }

В bitrix:catalog.section.list передаете этот ID
Код
<?$APPLICATION->IncludeComponent(
   "bitrix:catalog.section.list",
   "catalog_struktr_spa",
   Array(
      "ADD_SECTIONS_CHAIN" => "Y",
      "CACHE_FILTER" => "N",
      "CACHE_GROUPS" => "Y",
      "CACHE_TIME" => "36000000",
      "CACHE_TYPE" => "A",
      "COMPONENT_TEMPLATE" => "tree",
      "COMPOSITE_FRAME_MODE" => "A",
      "COMPOSITE_FRAME_TYPE" => "AUTO",
      "COUNT_ELEMENTS" => "N",
      "FILTER_NAME" => "",
      "IBLOCK_ID" => "2",
      "IBLOCK_TYPE" => "catalog",
      "SECTION_CODE" => "",
      "SECTION_FIELDS" => array(0=>"NAME",1=>"",),
      "SECTION_ID" => $parentSectionId,  // Тут передали ID
      "SECTION_URL" => "#SECTION_CODE#",
      "SECTION_USER_FIELDS" => array(0=>"",1=>"",),
      "SHOW_PARENT_NAME" => "Y",
      "TOP_DEPTH" => "1",
      "VIEW_MODE" => "LINE"
   )
);?>

Пишу по быстрому, но вроде бы ни чего не упустил.
Вам, скорее всего, нужно будет еще выполнять проверки на глубину текущего раздела.
 
Михаил Базаров, да все верно. Но вывелись разделы самого начала каталога, то есть основные разделы. А нужно отобразить подразделы из основного раздела.
Цитата
Структура:
1. Раздел со всеми разделами одним списком - 2. Раздел из всех разделов - 3. Подразделы из (2.) - 4. Список товаров из подразделов.

Нужно чтобы подразделы (2.) , отображались на каждой странице списка товаров (4.)
Если смотреть по структуре отобразились разделы с структуры (1.), а нужно чтобы отображались подразделы из структуры (2.)
 
Тогда, пропробуйте так
Код
$SECTION_ID = $arResult['SECTION_ID']; //ID текущего раздела
$res = CIBlockSection::GetByID($SECTION_ID);
if($ar_res = $res->GetNext()) {
 print_r($ar_res);
}
 
В распечатке, получите все данные о разделе, в том числе о его прямом родителе (на самом верхнем, а о близжайшем).
Но не точно, сейчас проверить негде
 
Цитата
Михаил Базаров написал:
$SECTION_ID = $arResult['SECTION_ID']; //ID текущего раздела
$res = CIBlockSection::GetByID($SECTION_ID);
if($ar_res = $res->GetNext()) {
print_r($ar_res);
}
В компоненте что то нужно менять?

А то отображается так же.
 
Михаил Базаров, может у Вас похожие какие нибудь видеоуроки имеются?
 
Или когда появится возможность проверить, пожалуйста отпишите.
Жду вашего ответа.

Спасибо вам большое.

Написал на многих форумах, ответили только Вы!
 
Я вот подумал, может можно как то через компонент меню это все реализовать?
 
Михаил Базаров, вы ответите?
 
В компоненте ничего менять не нужно. Решить, этот вопрос, можно на уровне шаблонов.
Вам нужно, просто получить ID (или CODE) родителя на нужном уровне раздела и передать его в catalog.section.list
 
Михаил Базаров, спасибо, буду разбираться.
 
Михаил Базаров,можете помочь в решении. Я заплачу.
У вас не должно уйти много времени, я уже 4 день этим занимаюсь.
Читают тему (гостей: 1)
Поделиться: Спасибо, это помогает развивать сайт:
Мой youtube канал.

На нем, уже много видеоуроков по 1С-Битрикс. Как одиночные видео так и серии видеоуроков Перейти на канал

Стоимость разработки сайта

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

При оценке проекта или работ я сразу называю стоимость и срок выполнения. Стоимость, срок и объем работы подлежат обсуждению только по взаимной договоренности сторон.
Ноутбук
Узнать точную стоимость разработки сайта или приложения: Для этого, достаточно, как можно подробнее, заполнить вот этот опросник: Скачать опросник и выслать на электронную почту mihail@bazarow.ru.
После ознакомления, смогу задать уточняющие вопросы и оценить проект по срокам и стоимости.

Или заполните онлайн опросник на создание проекта Бриф на проект
Решения на битрикс

Магазин, на базе готового решенияот 35 900 рублей / от 3 до 5 дней

В стоимость входит: Подбор решения из более 200-от готовых сайтов, под Вашу задачу. Полный запуск сайта на сервере или хостинге, со всеми настройками. Инструкции по работе с готовым решением. Базовая СЕО оптимизация. Запуск готового сайта за 3-4 дня. Небольшие доработки под задачу.

Авторизация


Войти через соц. сеть
Заказать проект