Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 12 лет назад пользователемconf2010.1c-bitrix.ru
1 Гриды и списки: Bitrix Framework 9.0 Вадим Думбравану Руководитель проектов
2 Гриды Гриды – набор компонентов ядра для создания унифицированного интерфейса.
3 Гриды Инструмент разработчика (не пользовательские компоненты). Могут работать с абстрактными данными (нет привязки только к инфоблокам и т.п.) Помогают использовать типовой функционал для работы со списками и формами. Предоставляют широкие возможности кастомизации для пользователя. Общая схема использования Вы создаете компонент, который выбирает/сортирует/фильтрует данные; Выбранные данные в шаблоне компонента передаются для отображения в компонент грида или компонент формы. Если необходимо, отображаете панель кнопок через компонент тулбара.
true), //array("SEPARATOR"=>true), //array("HTML"=>""), //array("TEXT", "ICON", "TITLE", "LINK", "LINK_PARAM"), //array("TEXT", "ICON"," title="main.interface.toolbar Простой компонент для отображения кнопок. //$arParams["BUTTONS"] = array( //array("NEWBAR"=>true), //array("SEPARATOR"=>true), //array("HTML"=>""), //array("TEXT", "ICON", "TITLE", "LINK", "LINK_PARAM"), //array("TEXT", "ICON"," class="link_thumb"> 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", "TITLE", "MENU"=>array(array("SEPARATOR"=>true, "ICONCLASS", "TEXT", "TITLE", "ONCLICK"),...)), //... //) $APPLICATION->IncludeComponent( "bitrix:main.interface.toolbar", "", array( "BUTTONS"=>$arToolbar, ), $component, array("HIDE_ICONS" => "Y") ); true), //array("SEPARATOR"=>true), //array("HTML"=>""), //array("TEXT", "ICON", "TITLE", "LINK", "LINK_PARAM"), //array("TEXT", "ICON","> true), //array("SEPARATOR"=>true), //array("HTML"=>""), //array("TEXT", "ICON", "TITLE", "LINK", "LINK_PARAM"), //array("TEXT", "ICON", "TITLE", "MENU"=>array(array("SEPARATOR"=>true, "ICONCLASS", "TEXT", "TITLE", "ONCLICK"),...)), //... //) $APPLICATION->IncludeComponent( "bitrix:main.interface.toolbar", "", array( "BUTTONS"=>$arToolbar, ), $component, array("HIDE_ICONS" => "Y") );"> true), //array("SEPARATOR"=>true), //array("HTML"=>""), //array("TEXT", "ICON", "TITLE", "LINK", "LINK_PARAM"), //array("TEXT", "ICON"," title="main.interface.toolbar Простой компонент для отображения кнопок. //$arParams["BUTTONS"] = array( //array("NEWBAR"=>true), //array("SEPARATOR"=>true), //array("HTML"=>""), //array("TEXT", "ICON", "TITLE", "LINK", "LINK_PARAM"), //array("TEXT", "ICON",">
5 main.interface.grid Многофункциональный компонент для отображения списков. Сортировка элементов списка. Меню действий над элементом списка. Групповое инлайн-редактирование в списке. Групповые действия над строками. Строка состояния. Постраничная навигация. Фильтр (поиск) по элементам списка. Настройка колонок списка. Драг-н-дроп колонок списка. Настройка представлений списка. Цветовые схемы, современный внешний вид. Сохраненные фильтры. Работа в режиме AJAX.
6 main.interface.grid Редактирование без перегрузки страницы (даже без AJAX). Типизированные колонки (строка, чекбокс, дата).
7 main.interface.grid Представление – сохраненная настройка колонок, сортировки, кол-ва элементов на странице, фильтра по умолчанию. Можно настроить несколько представлений – выбранное представление сохраняется.
8 main.interface.grid
9 Типизированные условия поиска (текст, список, дата, кастомный тип). Кастомизируемый фильтр. Сохраненные фильтры (могут быть использованы в представлении списка)
$arResult["GRID_ID"], "HEADERS"=>$arResult["ELEMENTS_HEADERS"], "ROWS"=>$arResult["ELEMENTS_ROWS"], "ACTIONS"=>$arActions, "NAV_OBJECT"=>$arResult" title="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" class="link_thumb"> 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" => "Y") ); $arResult["GRID_ID"], "HEADERS"=>$arResult["ELEMENTS_HEADERS"], "ROWS"=>$arResult["ELEMENTS_ROWS"], "ACTIONS"=>$arActions, "NAV_OBJECT"=>$arResult"> $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" => "Y") );"> $arResult["GRID_ID"], "HEADERS"=>$arResult["ELEMENTS_HEADERS"], "ROWS"=>$arResult["ELEMENTS_ROWS"], "ACTIONS"=>$arActions, "NAV_OBJECT"=>$arResult" title="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">
GetVisibleColumns(); $grid_sort = $grid_options->GetSorting(array("sort"=>array("name"=>"asc"))); Специальный класс CGridOptions для получения " title="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 для получения " class="link_thumb"> 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 для получения информации о настройке списка Вызывается перед построением данных, чтобы узнать сортировки, фильтры, колонки. GetVisibleColumns(); $grid_sort = $grid_options->GetSorting(array("sort"=>array("name"=>"asc"))); Специальный класс CGridOptions для получения "> GetVisibleColumns(); $grid_sort = $grid_options->GetSorting(array("sort"=>array("name"=>"asc"))); Специальный класс CGridOptions для получения информации о настройке списка Вызывается перед построением данных, чтобы узнать сортировки, фильтры, колонки."> GetVisibleColumns(); $grid_sort = $grid_options->GetSorting(array("sort"=>array("name"=>"asc"))); Специальный класс CGridOptions для получения " title="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 для получения ">
12 main.interface.form Компонент для отображения формы редактирования. Типизированные поля (текст, дата, список и т.д.). Поля группируются во вкладки. В ближайших планах - кастомизация вкладок и полей.
$arResult["FORM_ID"], "TABS"=>array( array("id"=>"tab1", "name"=>GetMessage("CT_BLLE_TAB_EDIT"), "title"=>GetMessage("CT_BLLE_TAB_EDIT_TITLE"), "i" title="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"), "i" class="link_thumb"> 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"], "custom_html"=>""), "DATA"=>$arResult["FORM_DATA"], ), $component, array("HIDE_ICONS" => "Y") ); $arResult["FORM_ID"], "TABS"=>array( array("id"=>"tab1", "name"=>GetMessage("CT_BLLE_TAB_EDIT"), "title"=>GetMessage("CT_BLLE_TAB_EDIT_TITLE"), "i"> $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"], "custom_html"=>""), "DATA"=>$arResult["FORM_DATA"], ), $component, array("HIDE_ICONS" => "Y") );"> $arResult["FORM_ID"], "TABS"=>array( array("id"=>"tab1", "name"=>GetMessage("CT_BLLE_TAB_EDIT"), "title"=>GetMessage("CT_BLLE_TAB_EDIT_TITLE"), "i" title="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"), "i">
14 Модуль универсальных списков Списки – надстройка над инфоблоками в виде публичного комплексного компонента. Реализованы на компонентах гридов.
15 Модуль универсальных списков Компонент работает с указанным типом инфоблоков. В настройке модуля указывается, кто имеет право создавать новые списки. Все созданные списки – это инфоблоки одного типа, выводятся на одной странице. В планах – списки в рабочих группах и личных профилях.
16 Модуль универсальных списков У списка настраиваются подписи. Устанавливаются права доступа к элементам списка для групп пользователей. Настраиваются поля списка: как стандартные поля инфоблока, так и свойства. Обязательность поля. Множественные значения полей. Значения по умолчанию. Используются разделы инфоблока.
17 Модуль универсальных списков Используются стандартные возможности гридов: форма редактирования элемента, фильтры, сортировки, групповое редактирование/удаление, постраничная навигация.
18 Модуль универсальных списков Списки поддерживают бизнес-процессы! (включаются в свойствах инфоблока в админке)
19 Спасибо за внимание! Вопросы?
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.