K4:Site Configs
From In-Portal Developers Guide
| ||
---|---|---|
Статьи в этой категории | ||
|
Функциональность "Site Configs
" является упрощённым вариантом использования события OnAfterConfigRead и доступна для всех конфигурационных файлов (префиксов) в системе. Для использования данной функциональности не требуется создавать или регистрировать новые классы или hooks.
Описанная далее функциональность доступна начиная с Core v 5.0.0. |
Расположение файлов
На данный момент все site configs
располагаются в директории "admin/system_presets
". Каждый из файлов, находящихся в этой директории влияет только на один, связанный с ним, конфигурационный файл. Для того, чтобы создать новый site config
нужно знать название конфигурационного файла, на который требуется повлиять и префикс, который в нём указан.
Например, если конфигурационный файл называется "categories_config.php
" и в нём объявлен префикс "c
", то файл, содержащий site config
должен называться "categories_c.php
" (убираем из названия конфигурационного файла "_config.php
" и добавляем к нему "_<prefix>.php
").
Формат файлов
В каждом site config
допускается объявлять глобальные переменные из перечисленного ниже списка. В результате обработки каждой из этих переменных будет изменена одна или более опция из конфигурационного файла, с которым этот site config
связан.
название | описание |
---|---|
$remove_sections (array)
| В данной переменной перечисляются названия тех секций в дереве административной консоли, которые требуется спрятать от пользователя.
$remove_sections = Array ( 'in-portal:configure_categories', 'in-portal:configuration_custom', ); |
$debug_only_sections (array)
| В данной переменной перечисляются названия тех секций в дереве административной консоли, которые требуется показывать только тогда, когда включён режим отладки (debug mode ).
$debug_only_sections = Array ( 'in-portal:email_events', 'in-portal:phrases', ); |
(array)
| В данной переменной перечисляются названия кнопок на панели инструментов, которые нужно спрятать. Кнопки указываются отдельно для каждого требуемого title preset.
$remove_buttons = Array ( 'email_log_list' => Array ('view'), 'catalog' => Array ('up', 'home'), ); |
(array)
| В данной переменной перечисляются те физические поля, которые нужно спрятать с формы редактирования, связанной с данным site config .
$hidden_fields = Array ( 'EmailLogId', 'FromUser', 'AddressTo', ); |
(array)
| В данной переменной перечисляются те виртуальные поля, которые нужно спрятать с формы редактирования, связанной с данным site config .
$virtual_hidden_fields = Array ( 'ThumbPath', 'FullUrl', ); |
$debug_only_fields (array)
| В данной переменной перечисляются те физические поля, которые нужно показывать на форме редактирования, связанной с данным site config только тогда, когда включён режим отладки (debug mode ).
$debug_only_fields = Array ( 'EmailLogId', 'FromUser', 'AddressTo', ); |
$debug_only_virtual_fields (array)
| В данной переменной перечисляются те виртуальные поля, которые нужно показывать на форме редактирования, связанной с данным site config только тогда, когда включён режим отладки (debug mode ).
$debug_only_virtual_fields = Array ( 'ThumbPath', 'FullUrl', ); |
$required_fields (array)
| В данной переменной перечисляются те физические поля, которые являются обязательными к заполнению на форме редактирования, связанной с данным site config .
$required_fields = Array ( 'EmailLogId', 'Subject', ); |
$virtual_required_fields (array)
| В данной переменной перечисляются те виртуальные поля, которые являются обязательными к заполнению на форме редактирования, связанной с данным site config .
$virtual_required_fields = Array ( 'ThumbUrl', 'ThumbPath', ); |
$hide_edit_tabs (array)
| В данной переменной перечисляются те вкладки, которые нужно спрятать на форме редактирования, связанной с данным site config . Вкладки указываются отдельно для каждого требуемого набора вкладок.
$hide_edit_tabs = Array ( 'Default' => Array ('general', 'groups'), 'RegularUsers' => Array ('groups'), ); |
$hide_columns (array)
| В данной переменной перечисляются те поля, которые нужно спрятать из набора колонок, показываемых в списке записей связанных с данным site config . Поля указываются отдельно для каждого требуемого списка.
$hide_columns = Array ( 'Default' => Array ('Тimestamp', 'Еvent'), ); |
Стандартный набор site configs
доступен в архиве: "core/install/site_configs.zip
" и обновляется при каждом релизе.