/
1.3. Site Configs
  • Verified
  • 1.3. Site Configs

    Функциональность "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', );

    $remove_buttons (array)

    В данной переменной перечисляются названия кнопок на панели инструментов, которые нужно спрятать. Кнопки указываются отдельно для каждого требуемого title preset.

    $remove_buttons = Array ( 'email_log_list' => Array ('view'), 'catalog' => Array ('up', 'home'), );

    $hidden_fields (array)

    В данной переменной перечисляются те физические поля, которые нужно спрятать с формы редактирования, связанной с данным site config.

    $virtual_hidden_fields (array)

    В данной переменной перечисляются те виртуальные поля, которые нужно спрятать с формы редактирования, связанной с данным site config.

    $debug_only_fields (array)

    В данной переменной перечисляются те физические поля, которые нужно показывать на форме редактирования, связанной с данным site config только тогда, когда включён режим отладки (debug mode).

    $debug_only_virtual_fields(array)

    В данной переменной перечисляются те виртуальные поля, которые нужно показывать на форме редактирования, связанной с данным site config только тогда, когда включён режим отладки (debug mode).

    $required_fields (array)

    В данной переменной перечисляются те физические поля, которые являются обязательными к заполнению на форме редактирования, связанной с даннымsite config.

    $virtual_required_fields(array)

    В данной переменной перечисляются те виртуальные поля, которые являются обязательными к заполнению на форме редактирования, связанной с даннымsite config.

    $hide_edit_tabs (array)

    В данной переменной перечисляются те вкладки, которые нужно спрятать на форме редактирования, связанной с данным site config. Вкладки указываются отдельно для каждого требуемого набора вкладок.

    $hide_columns (array)

    В данной переменной перечисляются те поля, которые нужно спрятать из набора колонок, показываемых в списке записей связанных с данным site config. Поля указываются отдельно для каждого требуемого списка.

    Стандартный набор site configs доступен в архиве: "core/install/site_configs.zip" и обновляется при каждом релизе.

    Related content

    3.2.1. Конфигурационные файлы
    3.2.1. Конфигурационные файлы
    More like this
    1.1. Переменные конфигурации
    1.1. Переменные конфигурации
    More like this
    2.3. Константы
    2.3. Константы
    More like this
    2.1. Структура директорий
    2.1. Структура директорий
    More like this
    2.4. Переменная окружения
    2.4. Переменная окружения
    More like this
    2.2. Протекание Процессов в Приложении
    2.2. Протекание Процессов в Приложении
    More like this