Выводить данные в админке (CAdminList)
Сначала надо сделать выборку данных.
# 1-ый способ (через инфоблоки) $res = CIBlockElement::GetList([], ['IBLOCK_ID' => 1]); # 2-ой способ, пользовательская таблица $res = $DB->Query('SELECT id,title FROM table_name');
Затем можно сгенерировать и вывести таблицу с данными через объект CAdminList()
.
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php"); $table_id = "table_id"; // ид таблицы $lAdmin = new CAdminList($table_id); // Какие поля выводить $lAdmin->AddHeaders([ ['id' => 'id', 'content' => 'ИД', 'default' => true], ['id' => 'title', 'content' => 'Имя', 'default' => true], ]); $data = new CAdminResult($res, $table_id); while ($element = $data->NavNext(true, "f_")) { // создание строки (экземпляра класса CAdminListRow) $lAdmin->AddRow($element['id'], $element); } require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php"); // Вывод данных $lAdmin->DisplayList();
В переменной $table_id
указывается ИД таблицы, с помощью которой можно будет обновлять таблицу (сортировка, фильтр) через Ajax.
В результате на странице сгенерируется таблица с данными.
Оформить поле
Оформить поле можно через метод $row->AddViewField()
.
while ($element = $data->NavNext(true, "f_")) { $row = $lAdmin->AddRow($element['id'], $element); $row->AddViewField('title', '<a href="custom_edit.php?ID='.$element['id'].'&lang='.LANG.'">'.$element['title'].'</a>'); }
В результате поле «title» будет выводиться в виде ссылки:
Постраничная навигация
По умолчанию, выводятся все данные. Чтобы выводить данные по страницам, надо добавить код ниже:
$res->NavStart(); $lAdmin->NavText($res->GetNavPrint('Страница'));
В результате под таблицей будет выводиться постраничная навигация.
Поддержать автора
Все статьи создаются и поддерживаются одним человеком,
если вам нравится контент, вы можете поддержать автора сайта