4.1.1. Работа с блоком «combined header»

Data Source

Блок combined_header используется для формирования заголовка шаблонов, напр. форм редактирования и выполняет следующие функции:

  • проверка права доступа к операциям над элементами (view, add, edit, delete);

  • подключение шаблона с описанием вкладок (tabs);

  • подключение элемента, показывающего номера страниц (pagination);

  • установку заголовка окна (title).

Обрабатываемые параметры

параметр

описание

pagination (int)

Параметр указывает на необходимость выведения нумерации страниц в bluebar. Используется только на списках. Не работает на списках подчинённых префиксов.

pagination_prefix (int)

Добавлено в версии 5.0.0.

Данный параметр позволяет задать префикс, который должен использоваться для выведения нумерации страниц в bluebar. Если данный параметр не указан, то в качестве него будет использовано значение параметра prefix. Обычно он используется при выводе списков подчинённых записей.

perm_section (string)

Параметр PermSection из конфигa отображаемого элемента или списка элементов, идентифицирует секцию, чтобы можно было применить к ней систему прав доступа. Будет определён автоматически, если параметр не передан.

permission_type (string)

Параметр указывает на то, какие права необходимы для получения доступа (view, add, edit, delete). Если параметр не передан, по умолчанию проверяется право view.

perm_prefix (string)

Добавлено в версии 5.0.0.

Данный параметр позволяет указать префикс, по объекту которого будет получена категория для проверки прав доступа к используемому на шаблоне объекту.

perm_event (string)

Добавлено в версии 5.0.0.

Название события, наличие права вызова которого требуется проверить. Событие задаётся в форме prefix_special:EventName, напр. phone:OnChangePrice.

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)

Добавлено в версии 5.0.0.

Данный параметр позволяет указать название блока, который нужно показывать в правой части 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"
/>
additional_title_render_as (string)

Добавлено в версии 5.0.0.

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

parent (int)

Добавлено в версии 5.0.0.

Если указать данный параметр, то пиктограмма и большое название будут браться из родительской секции, а не той, что указана в параметре section. В независимости от значения данного параметра на blue bar будет показана информация от указанной в параметре section секции. Данный параметр по умолчанию включён.

Примечание

* - параметр обязателен.

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

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