Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Вывод списка разделов

00 голосов
3
Добрый день коллеги. По работе начальник заставил разбираться с битриксом, а я с ним не дружил никогда. Щас вот пока тренируюсь, пробую.

Задача следующая, вот создал я такую структуру контента : каталог->спецпредложения->(одежда, обувь, товары) , ну и в каждом из последних собственно элементы.
Нужно вывести :
Фото раздела ( обувь , одежда...) ( PREVIEW_PICTURE)
Ниже название раздела ( обувь , одежда ) (NAME)
Ниже элементы разделов ( носки, трусы и т.п. )

Визуально Получится :
ФОТО
"Обувь"
Ботинки, Туфли, Кроссовки

И в строчку несколько таких блоков в зависимости от кол-ва спецпредложений.

Чем лучше воспользоваться для создания такого блока? Кто то говорит есть готовые компоненты, но я собственно не нашел либо не понял как с ними работать.
Если же я пробую выводить таким методом, то получаю только нижний уровень  тоесть ботинки, туфли, кроссовки , причем со всех родителей соотв.


Код
CModule::IncludeModule('iblock');
    $arSelect = Array("ID", "NAME") ;
    $arFilter = Array("IBLOCK_ID"=>IntVal(34));
    $res = CIBlockElement::GetList(Array(), $arFilter, false, Array("nPageSize" => 50), $arSelect);
    
    while($ob = $res->GetNextElement())
    {
       
        $arFields = $ob->GetFields();remotetreechildren
        print_r ($arFields);
        
    }


   
А нужно поймать родителя еще с фоткой и названием. Тоесть получить, что то типа

Array ( Array ( ID , NAME , DESC=>Array(Ботинки, Туфли, Кроссовки) ),  .. , .. N )

Посоветуйте пожалуйста.
спросил 03 Апр, 13 от dito1 (160 баллов)

3 Ответы

00 голосов
Для этого есть готовый компонент catalog.section.list, он может построить дерево разделов (напр., укажете ему ID входного раздела - он построит дерево нижележащих разделов). В шаблоне компонента доступен массив $arResult, там есть вся информация как по родителю, так и по потомкам smile:)

Изучение API с самого начала - это хорошо, но готовыми компонентами не пользоваться, когда они на 100% подходят - как-то неуважительно по отношению к разработчикам Битрикс smile:)
ответил 03 Апр, 13 от SleepLess (1,220 баллов)
00 голосов
Денис, спасибо за отклик. Однако понятнее пока не стало, как я уже и сказал я начинающий пользователь, и напрямую с компонентами еще не в зуб ногой, я бы рад пользоваться готовыми компонентами, если бы умел.
Если вам не сложно давайте порассуждаем.
1. Допустим я смогу создать копию catalog.section.list, чтобы его ковырять , но чтобы ковырять, надо знать куда.
2. Данный компонент ( я посмотрел ) выводит список категорий и в скобках показывает кол-во потомков например
Яблоки(2)
Груши(1)
Сливы(0)
Допустим, но как написано выше нужна совсем другая структура

ФОТО
Яблоки
Антоновка, Ранетки...

Вот как мне получить именно такой результат?

3. Далее вы говорите про arResult в шаблоне. Это где его смотреть в template.php ? Там туева куча непонятного мне кода работы компонента и толку мне от того, что я принтану arResult ? Мне же надо знать как в php с ним работать, или прям внтури компонента template работать ? ( что врядли ) .
4. Далее нужно каким то образом как я понимаю настроить стили , цвет текста, запихнуть в дивы и т.п.

Был бы очень признателен, если бы вы могли ответить на мои вопросы, или лучше всего показать на примере как онное сделать.
Отписал на всяк случай в личку, вдруг будет время пообщаться.  С уважением, Александр
ответил 03 Апр, 13 от dito1 (160 баллов)
00 голосов
Ну давайте по порядку smile:)

1) вы на страницу (сначала создайте какую-нибудь временную страницу, типа /test.php) в режиме визуального редактора положите компонент: в окне визуального редактора выберите секцию "Контент", там "Каталог", там "
Структура разделов
ответил 10 Июнь, 13 от SleepLess (1,220 баллов)

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

+1 голос
2 ответов
спросил 20 Июль, 14 от beatsspam (440 баллов)
0 голосов
6 ответов
0 голосов
2 ответов
спросил 10 Сен, 13 от MaestroO (300 баллов)
0 голосов
2 ответов
спросил 26 Июнь, 13 от NEEKaLL (160 баллов)
0 голосов
8 ответов
спросил 11 Июнь, 13 от Nadejda (180 баллов)