Одной из наиболее распространенных и популярных CMS для создания и управления веб-сайтами является 1С-Битрикс. Она предлагает много полезных функций и инструментов для разработчиков. В данной статье мы рассмотрим класс и метод CIBlockElement::GetList, который позволяет управлять и манипулировать элементами инфоблоков. Мы также покажем примеры использования этого метода.
Что такое CIBlockElement::GetList?
CIBlockElement::GetList - это метод класса CIBlockElement, который используется для получения и фильтрации элементов инфоблоков в системе управления контентом 1С-Битрикс. Метод предоставляет возможность выбирать элементы из инфоблоков на основе различных критериев, таких как свойства, разделы и условия сортировки
Примеры использования метода CIBlockElement::GetList
Рассмотрим некоторые практические примеры использования метода CIBlockElement::GetList:
Не забывайте подключать файл prolog_before.php для работы с битриксом.
Подключаем файл prolog_before.php
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
Для работы с ифобоками потребуется модуль iblock. В примере идёт обращение к методу GetList класса CIBlockElement.
В переменной $arFilter задаётся массив
для выборки элементов с нужными параметрами. PROPERTY_* Вместо * указывается необходимое имя свойства. В $arSelect содержится те поля, которые необходимо получить
в переменной $arItem.
CModule::IncludeModule('iblock'); $el = new CIBlockElement; $arFilter = ['IBLOCK_ID'=>'Id инфоблока','ACTIVE' => 'Y', 'PROPERTY_*' => 'Значение свойства']; $arSelect = ['ID', 'NAME', 'PREVIEW_TEXT', 'DATE_ACTIVE_FROM', 'DATE_ACTIVE_TO']; $res = $el::GetList (Array("ID" => "ASC"), $arFilter,false,false,$arrSelect); while($arItem = $res->GetNext()){ print_r($arItem); // Посмотрим что получилось }
Получение списка элементов инфоблока с фильтрацией по свойствам
$arFilter = array("IBLOCK_ID" => 2, "PROPERTY_CITY" => "Москва");
$arSelect = array("ID", "NAME", "DETAIL_PAGE_URL");
$res = CIBlockElement::GetList(array("NAME" => "ASC"), $arFilter, false, false, $arSelect);
while ($arFields = $res->GetNext()) {
echo "Название: " . $arFields["NAME"];
echo "Ссылка: " . $arFields["DETAIL_PAGE_URL"];
}
Получение списка элементов инфоблока с пагинацией:
$arFilter = array("IBLOCK_ID" => 2);
$arSelect = array("ID", "NAME", "DETAIL_PAGE_URL");
$arNavStartParams = array("nPageSize" => 10);
$res = CIBlockElement::GetList(array("NAME" => "ASC"), $arFilter, false, $arNavStartParams, $arSelect);
while ($arFields = $res->GetNext()) {
echo "Название: " . $arFields["NAME"];
echo "Ссылка: " . $arFields["DETAIL_PAGE_URL"];
}
312312
Ciblockelement
— это же не d7?$array = \Bitrix\Iblock\Elements\ElementCatalogTable::getList([ 'select' => ['ID', 'NAME', 'DETAIL_TEXT'], 'filter' => ['=ACTIVE' => 'Y'], ])->fetchAll(); foreach ($array as $arItem) { var_dump($arItem); }
Вот так на d7