Введение
Подсистема - самостоятельная логическая и функциональная группа, которая объединяет в себе набор модулей, моделей, объектов, обработчиков, сервисных страниц и т.п.
Каждая подсистема отображается в специальном виджете:
Реестр подсистем находится в папке:
/app/subsystems/
Файл реестра:
/app/subsystems/registry.php
В файле реестра указан массив подсистем и пути к ним:
<?php
return [
[
'path' => '/app/subsystems/Pages',
],
[
'path' => '/app/subsystems/Catalog',
],
[
'path' => '/app/subsystems/ECommerce',
],
[
'path' => '/app/subsystems/Users',
]
];
Устройство подсистемы на примере подсистемы Пользователи
Файл манифеста:
/app/subsystems/Users/manifest.php
Манифест предназначен для декларации подсистемы.
Массив shortcuts содержит в себе ярлыки. Ярлыки могут быть содержать в себе выпадающий список dropDown
Пример
<?php
return [
'subsystem' => [
'name' => [
'ru' => 'Пользователи',
],
'settingsBlock' => 'Users',
],
'shortcuts' => [
[
'name' => [
'ru' => 'Пользователи'
],
'code' => 'users',
'link' => '',
'moduleCode' => 'Users',
'blockCode' => 'Users',
'window' => [
'width' => 1200,
'height' => 900,
]
],
[
'name' => [
'ru' => 'Группы'
],
'code' => 'usersGroups',
'dropDown' =>
[
[
'name' => [
'ru' => 'Группы пользователей'
],
'link' => '',
'moduleCode' => 'Users',
'blockCode' => 'UsersGroups',
'window' => [
'width' => 1200,
'height' => 900,
],
],
[
'name' => [
'ru' => 'Уровни доступа'
],
'link' => '',
'moduleCode' => 'Users',
'blockCode' => 'AccessLevels',
'window' => [
'width' => 1200,
'height' => 900,
],
]
]
],
]
];
Директория /app/subsystems/Users/shortcuts/icons/ - хранит в себе иконки ярлыков ( если они необходимы )
Название иконки должно совпадать с кодом ярлыка и быть в формате .svg