Менеджер модулей
Менеджер модулей (/s-panel/modules) — это магазин-каталог + инсталлятор внутри админки. Тут видно установленные модули, можно ставить новые из ZIP, обновлять и удалять.
Список установленных #
Раздел показывает все модули из modules/. Для каждого видно:
- Имя и иконку из
module.json - Версию
- Статус (включён / выключен)
- Кнопки: «Перейти», «Обновить», «Удалить»
Список ядра берётся из module_settings; список доступных к установке — с pearcms.ru, если соответствующий ключ активен в настройках.
Установка из ZIP #
Кнопка «Загрузить» открывает форму выбора ZIP-файла. Что происходит дальше:
- Архив распаковывается в
modules/<Name>/ - Прогоняется
migration.sqlмодуля — создаются таблицы, добавляются роуты вroutesи пункты меню вsettings__menu - В
module_settingsпишется запись(name, version, enabled=1) - Сразу появляется иконка в sidebar (если у пункта меню стоит
module_name)
module.json и корректность namespace. Архивы без манифеста или с подозрительными путями отвергаются.Включение / отключение #
Тумблер у каждой карточки. Что происходит при выключении:
- Пункт меню исчезает из sidebar (там стоит фильтр по
module_settings.enabled) - Публичные URL модуля начинают возвращать 404
- Данные не удаляются — таблицы остаются на месте
Сразу после включения всё возвращается без потерь.
Обновление #
Если в module.json модуля прописан URL обновления, в карточке появится бейдж «Доступно». Кнопка «Обновить» скачивает свежий ZIP, распаковывает поверх и прогоняет миграцию обновления (если она есть). Сами данные модуля не страдают.
Удаление #
Кнопка «Удалить» — это полный снос. Прогоняется uninstall.sql (если есть), физически удаляется папка модуля, чистятся записи в routes, settings__menu, module_settings.
Перед удалением — всегда модальное подтверждение. Восстановление без бэкапа невозможно.