Помимо готовых шаблонов и сниппетов для «1С-Битрикс» его создатели предоставляют широчайший простор для самостоятельного программирования. Это позволяет расширять функционал сайтов, оперативно вносить в существующий код необходимые изменения и решать узкоспециализированные задачи.
При самостоятельном программировании нередко возникает ситуация, когда нужно получить список элементов, находящихся в конкретном информационном блоке. Также может понадобится вывод списка относящихся к этому блоку разделов.
Для этого используется метод GetList который, помимо прочего, используется со следующими классами:
- CIBlockElement;
- CIBlockSection.
Обратите внимание! С их помощью можно получить и вывести требуемую информацию.
GetList — что это за метод
В Bitrix GetList является методом, используемым в классе информационного блока. Его применяют для обращения к базе данных с целью получить различную информацию о блоке. Информация может содержать сведенья об элементах, разделах и других параметрах информационного блока.
В «Битрикс» GetList используется очень широко и его можно встретить в различных классах и модулях при разработке. Более подробная информация о всех возможностях использования данного метода изложена в технической документации для разработчиков на официальном сайте платформы.
Bitrix Ciblocksection Getlist
Этот класс предназначен для различных операций с группами или разделами информационного блока. С его помощью можно получить список разделов информационного блока. После получения списка благодаря Bitrix Section Getlist его можно отсортировать, используя Bitrix Getlist Filter.
Bitrix Ciblockelement Getlist
Класс «Битрикс» Ciblockelement Getlist предназначен для различных операций с одиночными элементами, входящими в информационный блок. С его помощью также можно получить список элементов и их количество для дальнейшей обработки в коде.
В качестве примера вывод названий элементов, входящих в условный информационный блок — «Новости». Первое, что необходимо узнать перед началом программирования — это ID интересующего информационного блока. Наиболее простой способ сделать это — обратиться к URL в адресной строке. Цифра, необходимая для использования в коде, в адресной строке идет сразу после — «IBLOCK_ID=», условно она будет равняться 1.
Чтобы получить и вывести названия элементов, входящих в информационный блок, нужно изменить интересующую страницу в режиме PHP-кодировки. На странице для Getlist Element Bitrix прописывается следующий код:
if(CModule::IncludeModule(“iblock”)){$res=CIBlockElement::GetList(Array(),Array(“IBLOCK_ID”=>1));while($ob=$res>GetNext()){?><pre><?print_r($ob[“NAME«]);?></pre><?}}.
Обратите внимание! В приведенном коде указан лишь один параметр, равный единице и относящийся к «IBLOCK_ID». Если убрать параметр [«NAME»], оставив только $ob, то while выведет намного больше значений исследуемого элемента.
Вывод значений свойства информационного блока
Поскольку информационные блоки в «Битрикс» являются наиболее используемыми модулями, то необходимость вывода значения через Bitrix Iblock становится довольно распространенной задачей. Понадобиться это может в различных ситуациях: от реализации слайдера, до создания различных справочников.
Стандартный функционал, предоставленный в консоли управления, порой не может справиться с поставленной задачей. Это может быть связано с необходимостью вывода нестандартных свойств информационного блока. В таком случае приходит на помощь самостоятельное программирование и «Битрикс» Element Getlist.
Если на сайте создан информационный блок, в котором предусмотрено нестандартное свойство с заданным идентификатором, то его значение выводится при помощи дополнительного кода. В качестве примера подробное описание новости. Для вывода значения необходимого свойства Bitrix Get Element, код которого равен FEATURE, в шаблоне новости прописывается следующий код:
<?=$arResult[“DISPLAY_PROPERTIES”][“FEATURE”][“VALUE”];?>
Для вывода имени требуемого свойства код пишется следующий:
<?=$arResult[“DISPLAY_PROPERTIES”][“FEATURE”][“NAME”];?>
Чтобы выполнить проверку и избежать вывода лишнего кода при незаданном значении элемента, вводится следующая конструкция:
<?if($arResult[“DISPLAY_PROPERTIES”][“FEATURE”]):?><?=$arResult[“DISPLAY_PROPERTIES”][“FEATURE”][“NAME”];?><?=$arResult[“DISPLAY_PROPERTIES”][“FEATURE”][“VALUE«];?><?endif;?>
Бывает, что у информационного блока задается множество различных свойств. Если стоит задача выводить значения этих свойств в различных местах, то стандартные методы «Битрикс» не помогут. По умолчанию эта информация выводится последовательно в цикле, в результате страдает дизайн сайта. Для решения этой проблемы используется аналогия кода, приведенного выше:
<!—первое свойство—><?if($arResult[“DISPLAY_PROPERTIES”][“FEATURE”]):?><divclass=”wrapper-top”><divclass=”wrapper-top-name”><?=$arResult[“DISPLAY_PROPERTIES”][“FEATURE”][“NAME”];?></div><divclass=”wrapper-top-count value”><?=$arResult[“DISPLAY_PROPERTIES”][“FEATURE”][“VALUE”];?></div></div><?endif;?>
<!—второе свойство—><?if($arResult[“DISPLAY_PROPERTIES”][“FEATURE”]):?><divclass=”wrapper-bottom”><divclass=”wrapper-bottom-name”><?=$arResult[“DISPLAY_PROPERTIES”][“FEATURE”][“NAME”];?></div><divclass=”wrapper-bottom-value”><?=$arResult[“DISPLAY_PROPERTIES”][“FEATURE”][“VALUE«];?></div></div><?endif;?>
Важно! В результате информация о первом свойстве будет выведена в разметке выше, а о втором свойстве ниже. Для этого не стоит забывать включать использование необходимых свойств.
Получение списка разделов
Довольно часто на сайте возникает задача получения и вывода списка разделов. В качестве примера можно использовать стандартный компонент «Битрикс» «news.list».
Чтобы решить поставленную задачу, нужно использовать следующий код:
<?$infoblock=ХХХ;//Инфоблок с ID ХХХ (необходимо установить ID интересующего инфоблока)$rs_Section=CIBlockSection:etList(array(’left_margin’=>’asc’),array(’IBLOCK_ID’=>$infoblock));while($ar_Section=$rs_Section>Fetch()){$ar_Resu[]=array(//идет сбор массива необходимой информации ’ID’=>$ar_Section[’ID’],//id раздела ’NAME’=>$ar_Section[’NAME’],//имя раздела (что, собственно, интересует)’IBLOCK_SECTION_ID’=>$ar_Section[’IBLOCK_SECTION_ID’],’LEFT_MARGIN’=>$ar_Section[’LEFT_MARGIN’],’RIGHT_MARGIN’=>$ar_Section[’RIGHT_MARGIN’],’DEPTH_LEVEL’=>$ar_Section[’DEPTH_LEVEL’],);print_r($ar_Resu);//проверка того, что собрано в массив }foreach($ar_Resuas$section){echo$section[“NAME”].«”;//вывод полученной информации}?>
Конечно, для реализации в программном коде описанных методов нужны определенные знания в программировании. Однако при наличии таковых или при обращении к соответствующему специалисту «Битрикс» открывает поистине неограниченные возможности в создании сайтов.
Поставить оценку