Гриды и списки: Bitrix Framework 9.0

Содержание

Слайд 2

Гриды

Гриды – набор компонентов ядра для создания унифицированного интерфейса.

Гриды Гриды – набор компонентов ядра для создания унифицированного интерфейса.

Слайд 3

Гриды

Инструмент разработчика (не пользовательские компоненты).
Могут работать с абстрактными данными (нет привязки только

Гриды Инструмент разработчика (не пользовательские компоненты). Могут работать с абстрактными данными (нет
к инфоблокам и т.п.)
Помогают использовать типовой функционал для работы со списками и формами.
Предоставляют широкие возможности кастомизации для пользователя.

Общая схема использования

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

Слайд 4

main.interface.toolbar

Простой компонент для отображения кнопок.

//$arParams["BUTTONS"] = array(
// array("NEWBAR"=>true),
// array("SEPARATOR"=>true),
// array("HTML"=>""),
// array("TEXT", "ICON", "TITLE", "LINK", "LINK_PARAM"),
// array("TEXT", "ICON",

main.interface.toolbar Простой компонент для отображения кнопок. //$arParams["BUTTONS"] = array( // array("NEWBAR"=>true), //
"TITLE", "MENU"=>array(array("SEPARATOR"=>true, "ICONCLASS", "TEXT", "TITLE", "ONCLICK"), ...)),
// ...
//)
$APPLICATION->IncludeComponent(
"bitrix:main.interface.toolbar",
"",
array(
"BUTTONS"=>$arToolbar,
),
$component, array("HIDE_ICONS" => "Y")
);

Слайд 5

main.interface.grid

Многофункциональный компонент для отображения списков.
Сортировка элементов списка.
Меню действий над элементом списка.
Групповое инлайн-редактирование

main.interface.grid Многофункциональный компонент для отображения списков. Сортировка элементов списка. Меню действий над
в списке.
Групповые действия над строками.
Строка состояния.
Постраничная навигация.
Фильтр (поиск) по элементам списка.
Настройка колонок списка.
Драг-н-дроп колонок списка.
Настройка представлений списка.
Цветовые схемы, современный внешний вид.
Сохраненные фильтры.
Работа в режиме AJAX.

Слайд 6

main.interface.grid

Редактирование без перегрузки страницы (даже без AJAX).
Типизированные колонки (строка, чекбокс, дата).

main.interface.grid Редактирование без перегрузки страницы (даже без AJAX). Типизированные колонки (строка, чекбокс, дата).

Слайд 7

main.interface.grid

Представление – сохраненная настройка колонок, сортировки, кол-ва элементов на странице, фильтра по

main.interface.grid Представление – сохраненная настройка колонок, сортировки, кол-ва элементов на странице, фильтра
умолчанию.
Можно настроить несколько представлений – выбранное представление сохраняется.

Слайд 8

main.interface.grid

main.interface.grid

Слайд 9

main.interface.grid

Типизированные условия поиска (текст, список, дата, кастомный тип).
Кастомизируемый фильтр.
Сохраненные фильтры (могут быть

main.interface.grid Типизированные условия поиска (текст, список, дата, кастомный тип). Кастомизируемый фильтр. Сохраненные
использованы в представлении списка)

Слайд 10

main.interface.grid

$APPLICATION->IncludeComponent(
"bitrix:main.interface.grid",
"",
array(
"GRID_ID"=>$arResult["GRID_ID"],
"HEADERS"=>$arResult["ELEMENTS_HEADERS"],
"ROWS"=>$arResult["ELEMENTS_ROWS"],
"ACTIONS"=>$arActions,
"NAV_OBJECT"=>$arResult["NAV_OBJECT"],
"SORT"=>$arResult["SORT"],
"FILTER"=>$arResult["FILTER"],
"FOOTER" => array(
array("title" => GetMessage("CT_BLL_SELECTED"), "value" => $arResult["NAV_OBJECT"]->SelectedRowsCount())
),
"AJAX_MODE" => "Y",
),
$component, array("HIDE_ICONS" =>

main.interface.grid $APPLICATION->IncludeComponent( "bitrix:main.interface.grid", "", array( "GRID_ID"=>$arResult["GRID_ID"], "HEADERS"=>$arResult["ELEMENTS_HEADERS"], "ROWS"=>$arResult["ELEMENTS_ROWS"], "ACTIONS"=>$arActions, "NAV_OBJECT"=>$arResult["NAV_OBJECT"], "SORT"=>$arResult["SORT"], "FILTER"=>$arResult["FILTER"],
"Y")
);

Слайд 11

main.interface.grid

$grid_options = new CGridOptions($arResult["GRID_ID"]);
$grid_columns = $grid_options->GetVisibleColumns();
$grid_sort = $grid_options->GetSorting(array("sort"=>array("name"=>"asc")));

Специальный класс CGridOptions для получения

main.interface.grid $grid_options = new CGridOptions($arResult["GRID_ID"]); $grid_columns = $grid_options->GetVisibleColumns(); $grid_sort = $grid_options->GetSorting(array("sort"=>array("name"=>"asc"))); Специальный
информации о настройке списка
Вызывается перед построением данных, чтобы узнать сортировки, фильтры, колонки.

Слайд 12

main.interface.form

Компонент для отображения формы редактирования.
Типизированные поля (текст, дата, список и т.д.).
Поля группируются

main.interface.form Компонент для отображения формы редактирования. Типизированные поля (текст, дата, список и
во вкладки.
В ближайших планах - кастомизация вкладок и полей.

Слайд 13

main.interface.form

$APPLICATION->IncludeComponent(
"bitrix:main.interface.form",
"",
array(
"FORM_ID"=>$arResult["FORM_ID"],
"TABS"=>array(
array("id"=>"tab1", "name"=>GetMessage("CT_BLLE_TAB_EDIT"), "title"=>GetMessage("CT_BLLE_TAB_EDIT_TITLE"), "icon"=>"", "fields"=>array(
array("id"=>"NAME", "name"=>GetMessage("CT_BLLE_FIELD_NAME"), "required"=>true),
)),
array("id"=>"tab2", "name"=>GetMessage("CT_BLLE_TAB_MESSAGES"), "title"=>GetMessage("CT_BLLE_TAB_MESSAGES_TITLE"), "icon"=>"", "fields"=>array(
array("id"=>"ELEMENTS_NAME", "name"=>GetMessage("CT_BLLE_FIELD_ELEMENTS_NAME")),
)),
),
"BUTTONS"=>array("back_url"=>$arResult["~LISTS_URL"],

main.interface.form $APPLICATION->IncludeComponent( "bitrix:main.interface.form", "", array( "FORM_ID"=>$arResult["FORM_ID"], "TABS"=>array( array("id"=>"tab1", "name"=>GetMessage("CT_BLLE_TAB_EDIT"), "title"=>GetMessage("CT_BLLE_TAB_EDIT_TITLE"), "icon"=>"", "fields"=>array(
"custom_html"=>""),
"DATA"=>$arResult["FORM_DATA"],
),
$component, array("HIDE_ICONS" => "Y")
);

Слайд 14

Модуль универсальных списков

Списки – надстройка над инфоблоками в виде публичного комплексного компонента.

Модуль универсальных списков Списки – надстройка над инфоблоками в виде публичного комплексного

Реализованы на компонентах гридов.

Слайд 15

Модуль универсальных списков

Компонент работает с указанным типом инфоблоков.
В настройке модуля указывается,

Модуль универсальных списков Компонент работает с указанным типом инфоблоков. В настройке модуля
кто имеет право создавать новые списки.
Все созданные списки – это инфоблоки одного типа, выводятся на одной странице.
В планах – списки в рабочих группах и личных профилях.

Слайд 16

Модуль универсальных списков

У списка настраиваются подписи.
Устанавливаются права доступа к элементам списка для

Модуль универсальных списков У списка настраиваются подписи. Устанавливаются права доступа к элементам
групп пользователей.
Настраиваются поля списка: как стандартные поля инфоблока, так и свойства.
Обязательность поля.
Множественные значения полей.
Значения по умолчанию.
Используются разделы инфоблока.

Слайд 17

Модуль универсальных списков

Используются стандартные возможности гридов: форма редактирования элемента, фильтры, сортировки, групповое

Модуль универсальных списков Используются стандартные возможности гридов: форма редактирования элемента, фильтры, сортировки, групповое редактирование/удаление, постраничная навигация.
редактирование/удаление, постраничная навигация.

Слайд 18

Модуль универсальных списков

Списки поддерживают бизнес-процессы!
(включаются в свойствах инфоблока в админке)

Модуль универсальных списков Списки поддерживают бизнес-процессы! (включаются в свойствах инфоблока в админке)
Имя файла: Гриды-и-списки:-Bitrix-Framework-9.0.pptx
Количество просмотров: 192
Количество скачиваний: 1