K4:Работа с блоком "combined header"
From In-Portal Developers Guide
| ||
---|---|---|
Статьи в этой категории | ||
|
Блок combined_header
используется для формирования заголовка шаблонов, напр. форм редактирования и выполняет следующие функции:
- проверка права доступа к операциям над элементами (
view
,add
,edit
,delete
); - подключение шаблона с описанием вкладок (
tabs
); - подключение элемента, показывающего номера страниц (
pagination
); - установку заголовка окна (
title
).
Contents |
Обрабатываемые параметры
параметр | описание |
---|---|
pagination (int)
| Параметр указывает на необходимость выведения нумерации страниц в bluebar . Используется только на списках. Не работает на списках подчинённых префиксов.
|
pagination_prefix (int)
| Данный параметр позволяет задать префикс, который должен использоваться для выведения нумерации страниц в bluebar . Если данный параметр не указан, то в качестве него будет использовано значение параметра prefix. Обычно он используется при выводе списков подчинённых записей. Добавлен начиная с Core v 5.0.0.
|
perm_section (string)
| Параметр PermSection из конфигa отображаемого элемента или списка элементов, идентифицирует секцию, чтобы можно было применить к ней систему прав доступа. Будет определён автоматически, если параметр не передан. |
permission_type (string)
| Параметр указывает на то, какие права необходимы для получения доступа (view , add , edit , delete ). Если параметр не передан, по умолчанию проверяется право view .
|
perm_prefix (string)
| Данный параметр позволяет указать префикс, по объекту которого будет получена категория для проверки прав доступа к используемому на шаблоне объекту. Добавлен начиная с Core v 5.0.0. |
perm_event (string)
| Название события, наличие права вызова которого требуется проверить. Событие задаётся в форме "prefix_special:EventName ", напр. "phone:OnChangePrice ". Добавлен начиная с Core v 5.0.0.
|
prefix (string) *
| Префикс отображаемого элемента или списка элементов. В качестве значения данного параметра для подчинённых префиксов необходимо использовать префикс главного. |
grid (string)
| Название списка, который показывается на шаблоне (т.е. название ключа в опции Grids в unit config). Применяется только на шаблонах со списком. |
section (string) *
| Используемая секция, которой принадлежит элемент или список элементов. Используется для отображения пиктограмм и названия раздела над списком элементов, а так же для проверки прав доступа. |
tabs (string)
| Параметр указывает на необходимость подключить шаблон вкладок (переданное значение - название и путь к шаблону). |
tab_preset (string)
| В конфиге используемого префикса (ключ EditTabPresets) можно указать несколько наборов предопределённых вкладок, с помощью этого параметра можно указать какой из наборов надо использовать. |
title_preset (string) *
| Указывает на то, какой из заголовков, описанных в конфиге, необходимо использовать в bluebar .
|
additional_blue_bar_render_as (string)
| Данный параметр позволяет указать название блока, который нужно показывать в правой части bluebar вместо pagination bar . Если требуется оставить pagionation bar и показать что-либо слева от него, то можно воспользоваться ниже показанным примером.
<inp2:m_DefineElement name="right_bluebar_element"> custom content <inp2:m_if check="m_Param" name="pagination"> <inp2:m_RenderElement name="grid_pagination_elem" PrefixSpecial="$prefix" pass_params="1"/> </inp2:m_if> </inp2:m_DefineElement> <inp2:m_RenderElement name="combined_header" prefix="sample-prefix" section="custom:sample_section" title_preset="sample_list" additional_blue_bar_render_as="right_bluebar_element" /> Данный параметр доступен начиная с Core v 5.0.0. |
additional_title_render_as (string) | Данный параметр позволяет указать название блока, который будет показан справа от крупного названия секции (того, что написано рядом с пиктограммой). Данный параметр доступен начиная с Core v 5.0.0. |
parent (int) | Если указать данный параметр, то пиктограмма и большое название будут браться из родительской секции, а не той, что указана в параметре section. В независимости от значения данного параметра на "blue bar " будет показана информация от указанной в параметре section секции. Данный параметр по умолчанию включён. Данный параметр доступен начиная с Core v 5.0.0.
|
Шаблоны вкладок
Шаблоны вкладок задаются при помощи опции EditTabPresets в unit config:
'EditTabPresets' => Array ( 'Default' => Array ( Array ('title' => 'la_tab_General', 't' => 'in-portal/users/users_edit', 'priority' => 1), Array ('title' => 'la_tab_Groups', 't' => 'in-portal/users/users_edit_groups', 'priority' => 2), Array ('title' => 'la_tab_Images', 't' => 'in-portal/users/user_edit_images', 'priority' => 3), Array ('title' => 'la_tab_Custom', 't' => 'in-portal/users/users_edit_custom', 'priority' => 4), ), 'Custom' => Array ( ... ), 'Test' => Array ( ... ), ... ),
Именно значение одного из ключей верхнего уровня требуется указывать в качестве значения параметра tab_preset блоку "combined_header
". Как видно из выше приведённого примере описание самого tab preset является массивом, в каждый элемент которого описывает одну вкладку:
название | описание |
---|---|
title | Фраза, перевод которой будет показан в качестве названия вкладки в браузере. |
t | Путь к шаблону, содержащему тело вкладки. |
priority | Порядок вкладки относительно остальных вкладок данного tab preset. |
Использование
На списке
<inp2:m_include t="incs/header" /> <inp2:m_RenderElement name="combined_header" section="custom:tracking" prefix="tracking" pagination="1" />
На форме редактирования
<inp2:m_include t="incs/header"/> <inp2:m_RenderElement name="combined_header" section="custom:tracking" prefix="tracking" title_preset="tracking_edit"/>
В обоих примерах можно видеть действие параметра title_preset (надпись на синем фоне), а так же параметра section - с его помощью во время обработки тэга можно определить значение некоторых параметров, если они не были переданы. К таким относятся prefix и prem_section. Так же с помощью параметра section определяется необходимая пиктограмма и название родительской секции, в которой находится данная секция.