GetList для чайников
GetList — это метод который используется в классе инфоблока. Данный метод используют для того чтобы получить информацию(о разделах, элементах) инфоблока из БД.
Гетлистов много, они используются в разных модулях и разных классах. Подробную информацию о их возможностях можно прочитать в документации для разработчиков 1С Битрикс. Здесь же рассмотрим подробный пример использования GetList с классом CIBlockSection:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<? $arFilter = array('IBLOCK_ID' => 2,'DEPTH_LEVEL' => 1); // выбераем разделы инфоблока 2 с вложеностью 1 $arSelect=array('UF_*'); //выбираем все пользовательские поля $rsSect = CIBlockSection::GetList(array(), $arFilter, false, $arSelect, false); while ($arSect = $rsSect->GetNext()) { ?> <div class="categories__items"> <a class="category" href="<?=$arSect["SECTION_PAGE_URL"] ?>"> <span class="category__img"> <svg class="icon"><use xmlns:xlink="<?=$arSect['UF_SVG_ICON']?>"></use></svg> </span> <span class="category__bottom"> <span class="category__title"> <?=$arSect["NAME"] ?></span> </span> </a> </div> <? } ?> |
Перед использованием GetList не забудьте подключить класс инфоблока.
В $arFilter и $arSelect происходит выборка данных, затем мы создаем объект $rsSect и помещаем в него те данные которые получили из БД с помощью GetList.
Теперь все данные содержащиеся в $rsSect нужно перебрать. Перебираются они с помощью метода GetNext. Можно вместо него использовать метод Fetch. Но он считается устаревшим и может не работать как нужно.
В данном примере мы выбираем все разделы инфоблока с ID равным 2 и помимо всего вытаскиваем их пользовательские поля. Далее в цикле выводим требующуюся информацию о разделах в необходимом месте.