Skip to content

Repository files navigation

AVE.cms

AVE.cms 3.3 build 0.35 — модульная система управления сайтами на PHP. Она подходит для проектов, в которых структуру содержимого нужно собирать из собственных рубрик, полей, документов, запросов, блоков и шаблонов, не привязываясь к заранее заданному типу сайта.

AVE.cms включает публичное ядро и единую панель управления. adminx/ — только имя каталога панели по умолчанию: его можно изменить во время установки.

Основные возможности

  • конструктор рубрик и форм редактирования документов;
  • расширяемый реестр типов полей;
  • шаблоны сайта, рубрик, запросов, навигации и блоков;
  • запросы с группами условий, сортировкой, пагинацией и предпросмотром;
  • древовидная навигация с собственными шаблонами уровней;
  • файловый браузер, редактор изображений, WebP и управляемые миниатюры;
  • роли, права, пользователи панели и публичные аккаунты;
  • ревизии содержимого, аудит действий и системные события;
  • файловый и теговый кеш с контролируемой инвалидацией;
  • HTTP API, хуки жизненного цикла и модульные расширения;
  • защищённая публичная отладка для администраторов;
  • обновления ядра и каталог устанавливаемых модулей;
  • русская и английская локализация панели управления.

Публичная часть сайта остаётся одноязычной. Язык панели управления каждый пользователь выбирает независимо.

Как устроен контент

Сущность Назначение
Шаблон сайта Формирует общий HTML-каркас страницы и подключает содержимое, навигацию, блоки и ассеты темы.
Рубрика Описывает тип материала: набор полей, форму редактирования, правила URL и шаблоны вывода.
Поле Хранит отдельную часть данных документа и определяет её редактор, проверку и публичное представление.
Документ Содержит значения системных и пользовательских полей конкретной рубрики.
Запрос Выбирает документы по условиям, сортирует их и выводит через шаблон списка и элемента.
Навигация Собирает древовидные меню и управляет шаблонами каждого уровня.
Блок Вставляет повторно используемый фрагмент содержимого или вычисляемый результат по тегу.
Модуль Добавляет самостоятельную возможность, маршруты, права, настройки, хуки и элементы панели.

При открытии страницы ядро находит документ, загружает его рубрику и поля, применяет назначенные шаблоны, обрабатывает системные теги и подключает навигацию, блоки и установленные модули. Подробная схема приведена в разделе «Как AVE.cms собирает сайт».

Требования

  • 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.

Модули и расширение

Модули физически устанавливаются и удаляются. Пакет может добавить:

  • публичные и административные маршруты;
  • таблицы и последовательные миграции;
  • пункты меню, действия в шапке и виджеты;
  • права доступа и настройки;
  • обработчики хуков и событий;
  • публичные ассеты и шаблоны.

Модуль можно загрузить ZIP-архивом или получить из подключённого каталога. Удаление модуля удаляет его файлы и принадлежащие ему данные согласно контракту пакета.

Документация: работа с модулями.

Структура проекта

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/README.md.

Лицензия

AVE.cms распространяется по лицензии GNU General Public License версии 2 или любой более поздней версии по вашему выбору (GPL-2.0-or-later). Полный текст находится в license.txt.

Официальный сайт: ave-cms.ru

About

AVE.cms - FREE open-source content management system based on PHP

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages