Модульная архитектура
Каждый раздел — самостоятельный модуль с миграциями, правами и ассетами. Включайте и отключайте функции без правки ядра.
AVE.cms — лёгкая самостоятельная система управления сайтом с быстрой модульной админкой. Документы, каталог, SEO-аудит и десятки модулей — без внешних зависимостей и облаков.
Быстрая админка, продуманный контент-редактор и инструменты, которые обычно приходится докупать плагинами.
Каждый раздел — самостоятельный модуль с миграциями, правами и ассетами. Включайте и отключайте функции без правки ядра.
Гибкие типы контента с произвольными полями, ревизиями, ЧПУ и историей редиректов. Поиск по любому полю рубрики.
Проверка title, description, keywords и дублей по всему сайту. Description и ключевые слова собираются из текста автоматически.
Разделы, фильтры, варианты и быстрое заполнение. Пакетные операции над документами с пошаговым выполнением и журналом.
Роли и гранулярные права на каждый модуль, CSRF на всех действиях, параметризованные запросы против SQL-инъекций, аудит, троттлинг логина и блокировка по IP.
Умный кеш с атомарной записью, версионированием и инвалидацией. Никаких тяжёлых фреймворков — только то, что нужно движку.
Дашборд с живой аналитикой и набор личных инструментов прямо в панели управления.
У каждой рубрики свой набор полей. Более 45 готовых типов — от простых до товарных и медийных.
…и другие. Новые типы полей добавляются как классы — без правки ядра.
Понятный код без тяжёлых фреймворков: маршрут, контроллер, модель — и готово. Расширение — отдельным модулем, ядро остаётся нетронутым.
module.php.Bearer, ключ хранится как SHA-256 — для внешних интеграций./help.// маршрут модуля — routes.php
Router::get('/reviews', [Controller::class, 'index']);
// безопасный запрос — значение через плейсхолдер
$rows = DB::query(
'SELECT * FROM ' . Reviews::table()
. ' WHERE rubric_id = %i', $rubricId
)->getAll();
// ответ в едином JSON-контракте
return $this->success('Готово', ['data' => $rows]);
# получить документ по ID
curl -s https://site.ru/api/v1/documents/42 \
-H "Authorization: Bearer ave_live_…"
# → ответ
{ "success": true,
"data": { "Id": 42, "document_title": "Кресло-коляска" } }
Никаких обязательных облаков, подписок и раздутых зависимостей. Вы разворачиваете движок на своём сервере и полностью владеете кодом и данными.
Скачайте дистрибутив, распакуйте на сервер и войдите в панель управления. Всё остальное — уже внутри.
Актуальная версия · размер архива и хеш можно указать здесь