In-Portal Developers Guide

This is a wiki-based Developers Guide for In-Portal Open Source CMS. The purpose of this guide is to provide advanced users, web developers and programmers with documentation on how to expand, customize and improve the functionality and the code the In-Portal software. Please consider contributing to our documentation writing effort.

K4:Работа с блоком "combined header"

From In-Portal Developers Guide

Jump to: navigation, search
Работа с шаблонами и блоками Работа с шаблонами и блоками
Статьи в этой категории

Блок 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.
Image:Tipbox Icon.gif * - параметр обязателен.

Шаблоны вкладок

Шаблоны вкладок задаются при помощи опции 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.

Использование

На списке

Результат использования тэга combined_header на списке
Результат использования тэга combined_header на списке
<inp2:m_include t="incs/header" />
<inp2:m_RenderElement name="combined_header" section="custom:tracking" prefix="tracking" pagination="1" />


На форме редактирования

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