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 определяется необходимая пиктограмма и название родительской секции, в которой находится данная секция.






