Files
ave-cms/help/modules
2026-07-27 12:58:44 +03:00
..
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00
2026-07-27 12:58:44 +03:00

Модульная система

Расширение может быть только административным или составным пакетом с публичной и административной частями. Оно декларативно описывает права, маршруты, миграции, настройки, хуки, типы полей и вклады в интерфейс. Управляемый модуль можно установить, обновить, выключить, переустановить и удалить через панель управления AVE.cms.

В этом разделе AVE.cms означает сам движок, а «панель управления» — его административный интерфейс. Имя adminx используется как имя каталога по умолчанию, а также в namespace и технических API панели. Физический каталог можно переименовать.

Только административный модуль:

<admin-directory>/modules/Notes/
├── module.php
├── Controller.php
├── Model.php
├── migrations/
├── view/
└── assets/

Составной пакет, который меняет и публичный сайт:

modules/reviews/
├── app/
│   ├── module.php
│   ├── services.php
│   └── Fields/
└── admin/
    ├── module.php
    ├── Controller.php
    ├── view/
    └── assets/

Как система находит модули

ModuleManager загружает встроенные модули панели из каталога <admin-directory>/modules, а PackageModuleRuntime обнаруживает составные пакеты в modules. Классы подключает штатный namespace-loader, затем descriptor регистрирует доступные контракты в общих реестрах.

После первого обнаружения сериализуемые descriptors сохраняются в защищённом storage/runtime/module-registry.json. Реестр проверяет корневой каталог и автоматически пересобирает административную секцию после переименования панели. Manifest с вычисляемым runtime-содержимым объявляет 'registry' => array('dynamic' => true) и загружается напрямую.

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

В разделе Модули → Управление область каждого расширения отмечена цветом:

  • Админка - код находится только в каталоге панели и не подключается в паблике;
  • Публичный - пакет предоставляет только runtime публичного сайта;
  • Паблик + админка - единый пакет содержит app/ и admin/.

Поэтому небольшое число папок в корневом modules/ нормально: чисто административные расширения физически находятся в <admin-directory>/modules/, а составные пакеты - в корневом modules/.

Карта раздела

Страница О чём
module.php — descriptor Все основные ключи manifest с примерами.
Файлы модуля Menu, Permissions, контроллеры, модели, маршруты, Twig и assets.
Операции и состояния Установка, обновление, включение, переустановка, деинсталляция и удаление файлов.
ZIP-пакеты Структура архива, ограничения и безопасная установка через панель управления.
Удалённый каталог Подключение подписанного источника, публикация и установка модулей по HTTPS.
Миграции Плейсхолдеры таблиц, ledger, идемпотентность и удаление схемы.
Вклады в UI Обзор меню, действий шапки, виджетов дашборда и уведомлений.
Локализация XML-словари модуля, Twig, JavaScript и перевод пунктов меню.
Виджеты дашборда Descriptor, provider, Twig, сетка, порядок и видимость.
Действия в шапке Кнопка, dropdown, модальное окно, права и Ajax.
Уведомления Элементы общего колокольчика, счётчики и производительность provider.
Встроенная справка Как модуль читает каталог help/, строит навигацию и полнотекстовый поиск.
Готовность сайта Профили запуска, отчёты, ручной чек-лист и расширение проверок модулем.
Взаимодействия Общий runtime оценок, реакций и голосов, каналы, API и hooks.
Антиспам Профили защиты форм, challenge, CAPTCHA и подключение своих проверок.
Рейтинги Виджет оценки объектов, шаблонные теги и API голосов.
Комментарии Обсуждения, премодерация, три шаблона, API и антиспам.
Опросы Одиночные и множественные голосования, архив, теги и API.
Галереи Медиаколлекции, сетка, слайдер, миниатюры и шаблонные теги.
Поиск по сайту Индекс, области, вывод через запросы, JSON/HTML API, живой поиск и хуки.
Баннеры Рекламные места, стратегии ротации, расписание, шаблоны и статистика.
Вопросы и ответы Коллекции FAQ, rich-text ответы, шаблоны, JSON API и Schema.org.
Похожие материалы Релевантность, кольцевой вывод, ручные связи, шаблоны, запросы и API.
Контактные формы Формы, поля, публичная вставка, история обращений и ответы.
Корзина, доставка и оплата Публичные страницы корзины, Twig-шаблоны, сервисы доставки и платёжные шлюзы.
RSS-каналы Публичные адреса каналов, рубрики, поля и ограничения выдачи.
Вход через VK ID и Яндекс Callback URL, секреты, регистрация и привязка аккаунтов.
Вход по SMS через SMSC API-ключ, одноразовые коды, ограничения и телефонные аккаунты.
Личные инструменты Todo, канбан, заметки и напоминания.
Ошибки 404 Журнал несуществующих URL и создание редиректов.
SEO-аудит Правила проверки документов и безопасное заполнение метаданных.
Производительность Синтетическая проверка БД, файловой системы и CPU.
Безопасность файлов Эталон, профили проверки, карантин, права и уведомления.
Демо-сайт Обратимое добавление темы и демонстрационного контента.
Импорт документов Профили CSV, Excel и XML, сопоставление полей и повторное обновление документов.
Миграция из старой AVE.cms Preflight, пакетный перенос с сохранением ID, сверка и импорт uploads.
Пакеты контента JSON-перенос рубрик, полей, запросов, документов и блоков между сайтами.
Планировщик Реестр фоновых задач, cron-расписание, HTTP-тик и журнал запусков.
Мониторинг здоровья Диск, MySQL, фоновые задачи, внешние сервисы и история снимков.
Отзывы Отзывы и рейтинг объектов, премодерация и ответ компании.
Всплывающие окна Кампании, A/B-варианты, сценарии показа и лиды.
Обмен с 1С Профили CommerceML, сопоставление полей и журнал импортов.
Источники трафика UTM-кампании, внешние переходы, посадочные страницы и CSV.
Поисковые запросы Спрос посетителей, нулевая выдача и рабочие заметки.
A/B-тесты Варианты блоков и элементов, стабильное распределение и конверсии.
Пошагово: свой модуль Мини-модуль с нуля до рабочего экрана.

Устанавливаемые модули AVE.cms

Таблица ниже покрывает штатные нетоварные модули. Товарные пакеты, импорт цен, виджеты и «Операции с документами» сознательно не входят в этот список.

Код Область Основные права Руководство
benchmark Панель view_benchmark, manage_benchmark Производительность
interactions Паблик + панель view_interactions, manage_interactions Взаимодействия
reviews Паблик + панель view_reviews, manage_reviews Отзывы
antispam Паблик + панель view_antispam, manage_antispam Антиспам
banners Паблик + панель view_banners, manage_banners Баннеры
comments Паблик + панель view_comments, manage_comments Комментарии
contacts Паблик + панель view_contacts, manage_contacts, reply_contacts Контактные формы
commerce Паблик + панель view_orders, manage_orders, refund_orders Корзина, доставка и оплата
demo_site Паблик + панель view_demo_site, manage_demo_site Демо-сайт
document_import Панель view_document_import, run_document_import, manage_document_import Импорт документов
legacy_migration Панель view_legacy_migration, run_legacy_migration, manage_legacy_migration Миграция AVE.cms
content_packages Панель view_content_packages, export_content_packages, import_content_packages Пакеты контента
faq Паблик + панель view_faq, manage_faq Вопросы и ответы
galleries Паблик + панель view_galleries, manage_galleries Галереи
polls Паблик + панель view_polls, manage_polls Опросы
ratings Паблик + панель view_ratings, manage_ratings Рейтинги
related Паблик + панель view_related, manage_related Похожие материалы
file_security Паблик + панель view_file_security, run_file_security, manage_file_security Безопасность файлов
help Панель view_help Встроенная справка
kanban Панель view_kanban, manage_kanban Личные инструменты
notes Панель view_notes, manage_notes Личные инструменты
notfound Панель view_notfound, manage_notfound Ошибки 404
reminders Панель view_reminders, manage_reminders Личные инструменты
rss Паблик + панель view_rss, manage_rss RSS-каналы
search Паблик + панель view_search, manage_search Поиск по сайту
seoaudit Панель view_seoaudit, manage_seoaudit SEO-аудит
site_readiness Панель view_site_readiness, run_site_readiness, manage_site_readiness Готовность сайта
scheduler Паблик + панель view_scheduler, run_scheduler, manage_scheduler Планировщик
system_health Панель view_system_health, run_system_health, manage_system_health Мониторинг здоровья
popups Паблик + панель view_popups, manage_popups Всплывающие окна
commerceml Паблик + панель view_commerceml, manage_commerceml Обмен с 1С
traffic_analytics Паблик + панель view_traffic_analytics, manage_traffic_analytics Источники трафика
search_analytics Паблик + панель view_search_analytics, manage_search_analytics Поисковые запросы
experiments Паблик + панель view_experiments, manage_experiments A/B-тесты
todo Панель view_todos, manage_todos Личные инструменты
vk_oauth Паблик + панель view_vk_oauth, manage_vk_oauth Вход через VK ID
yandex_oauth Паблик + панель view_yandex_oauth, manage_yandex_oauth Вход через Яндекс
smsc_auth Паблик + панель view_smsc_auth, manage_smsc_auth Вход по SMS через SMSC

Ключевые принципы

  • Только панель управления — <admin-directory>/modules/<Name>, публичная часть и панель — один пакет в modules/<code>.
  • Права, меню, маршруты, миграции, хуки и настройки объявляются декларативно.
  • Managed-модуль требует явной установки; наличие папки не означает активацию.
  • Отключение сохраняет данные и общие контракты, но убирает runtime-вклады.
  • Twig-namespace административного модуля совпадает с его code.
  • Модуль не должен требовать CLI для установки или повседневной production-работы.
  • Браузерные подтверждения выполняются через технический API Adminx.Confirm, ответы Ajax — через общий контракт панели управления.

Перед установкой стороннего пакета проверьте его исходный код и сделайте backup: ZIP-модуль является исполняемым PHP-кодом и может содержать миграции БД.