# AVE.cms **AVE.cms 3.3 build 0.35** — модульная система управления сайтами на PHP. Она подходит для проектов, в которых структуру содержимого нужно собирать из собственных рубрик, полей, документов, запросов, блоков и шаблонов, не привязываясь к заранее заданному типу сайта. AVE.cms включает публичное ядро и единую панель управления. `adminx/` — только имя каталога панели по умолчанию: его можно изменить во время установки. ## Основные возможности - конструктор рубрик и форм редактирования документов; - расширяемый реестр типов полей; - шаблоны сайта, рубрик, запросов, навигации и блоков; - запросы с группами условий, сортировкой, пагинацией и предпросмотром; - древовидная навигация с собственными шаблонами уровней; - файловый браузер, редактор изображений, WebP и управляемые миниатюры; - роли, права, пользователи панели и публичные аккаунты; - ревизии содержимого, аудит действий и системные события; - файловый и теговый кеш с контролируемой инвалидацией; - HTTP API, хуки жизненного цикла и модульные расширения; - защищённая публичная отладка для администраторов; - обновления ядра и каталог устанавливаемых модулей; - русская и английская локализация панели управления. Публичная часть сайта остаётся одноязычной. Язык панели управления каждый пользователь выбирает независимо. ## Как устроен контент | Сущность | Назначение | | --- | --- | | **Шаблон сайта** | Формирует общий HTML-каркас страницы и подключает содержимое, навигацию, блоки и ассеты темы. | | **Рубрика** | Описывает тип материала: набор полей, форму редактирования, правила URL и шаблоны вывода. | | **Поле** | Хранит отдельную часть данных документа и определяет её редактор, проверку и публичное представление. | | **Документ** | Содержит значения системных и пользовательских полей конкретной рубрики. | | **Запрос** | Выбирает документы по условиям, сортирует их и выводит через шаблон списка и элемента. | | **Навигация** | Собирает древовидные меню и управляет шаблонами каждого уровня. | | **Блок** | Вставляет повторно используемый фрагмент содержимого или вычисляемый результат по тегу. | | **Модуль** | Добавляет самостоятельную возможность, маршруты, права, настройки, хуки и элементы панели. | При открытии страницы ядро находит документ, загружает его рубрику и поля, применяет назначенные шаблоны, обрабатывает системные теги и подключает навигацию, блоки и установленные модули. Подробная схема приведена в разделе [«Как AVE.cms собирает сайт»](help/content/README.md). ## Требования - PHP 7.3 или новее; - MySQL 5.7 или новее с InnoDB и `utf8mb4`; - расширения PHP `mysqli`, `mbstring`, `json` и `openssl`; - расширения `curl`, `zip` и GD рекомендуются для сетевых операций, ZIP-пакетов и обработки изображений; - право записи в `configs/`, `storage/`, `tmp/` и `uploads/`; - Apache с `mod_rewrite` либо эквивалентные правила маршрутизации веб-сервера. Точные результаты проверки окружения установщик показывает до изменения базы данных. ## Быстрая установка 1. Создайте пустую базу данных и пользователя с правами на её изменение. 2. Распакуйте архив AVE.cms в корневой каталог сайта, сохранив `.htaccess`. 3. Откройте сайт в браузере. При отсутствии конфигурации он направит вас на `/setup/`. 4. Укажите параметры базы, префикс таблиц, язык панели и данные первого администратора. 5. При необходимости измените имя каталога панели управления. По умолчанию это `adminx`. 6. Завершите установку, войдите в панель и настройте структуру будущего сайта. Установщик создаёт минимальный рабочий сайт: основной шаблон, рубрику с заголовком и richtext-полем, главную страницу и служебную страницу 404. Дополнительные возможности устанавливаются отдельно через раздел модулей. Полная инструкция: [Установка AVE.cms](help/installation/README.md). ## Модули и расширение Модули физически устанавливаются и удаляются. Пакет может добавить: - публичные и административные маршруты; - таблицы и последовательные миграции; - пункты меню, действия в шапке и виджеты; - права доступа и настройки; - обработчики хуков и событий; - публичные ассеты и шаблоны. Модуль можно загрузить ZIP-архивом или получить из подключённого каталога. Удаление модуля удаляет его файлы и принадлежащие ему данные согласно контракту пакета. Документация: [работа с модулями](help/modules/README.md). ## Структура проекта ```text adminx/ панель управления и её разделы configs/ конфигурация установленной системы help/ пользовательская и публичная техническая документация modules/ физически устанавливаемые модули setup/ мастер чистой установки storage/ служебные данные, секреты и состояние системы system/App/ ядро AVE.cms system/vendor/ встроенные сторонние библиотеки runtime templates/ темы и публичные шаблоны tmp/ кеш и временные файлы uploads/ пользовательские медиафайлы index.php публичная точка входа ``` Публичный запрос проходит через `index.php` и `App\Frontend\PublicKernel`. Панель использует то же ядро, но имеет собственную точку входа и не определяет работу публичной части. Проект использует собственный загрузчик и встроенные библиотеки runtime: для установки готовой версии Composer и Node.js не нужны. Новый PHP-код должен сохранять совместимость с PHP 7.3. Поддерживаемые точки расширения описаны в разделах [HTTP API](help/api/README.md), [хуки и события](help/hooks/README.md) и [модульная система](help/modules/README.md). ## Документация Начальная точка: [help/README.md](help/README.md). - [управление системой](help/administration/README.md); - [рубрики, документы, запросы и шаблоны](help/content/README.md); - [поля документов](help/fields/README.md); - [медиа и миниатюры](help/media/README.md); - [модульная система](help/modules/README.md); - [публичная отладка](help/debug/README.md); - [безопасность](help/security/README.md); - [работа с базой данных](help/database/README.md); - [English documentation](help/en/README.md). ## Лицензия AVE.cms распространяется по лицензии GNU General Public License версии 2 или любой более поздней версии по вашему выбору (`GPL-2.0-or-later`). Полный текст находится в [license.txt](license.txt). Официальный сайт: [ave-cms.ru](https://ave-cms.ru/)