Начало работы v200.4.1
Что такое DevCraft Admin: описание для пользователей и разработчиков, возможности, структура, быстрый старт панели.
Описание плагина
DevCraft Admin — это общая админ-панель для ваших плагинов на DataLife Engine. Вместо того чтобы каждый модуль тащил свой каркас (меню, формы, AJAX, логи), вы ставите одну оболочку и подключаете к ней сателлиты: уведомления, репосты, связи новостей и любые свои модули в том же стиле.
Оболочка даёт единый вход в админку DLE (?mod=devcraft и отдельные mod у сателлитов), общие настройки сайта DevCraft, оформление на Metro UI, единую точку AJAX (devcraft/ajax.php) и шаблоны Twig для экранов админки. Публичная часть сайта по-прежнему живёт в теме DLE (.tpl), а логика модулей — в devcraft/src/modules/….
Линейка версий 200.* рассчитана на DLE 20 и новее (в т.ч. сайты на 21.0). Версия 200.4.1 — текущая документация этой ветки: генератор модулей, Composer в панели, логи, Fluent-манифесты, слои доступа к данным DLE и расширения публичных условий шаблонов ([if]/[else], [has]).
Возможности
- Отдельный раздел DevCraft в админке DLE и боковое меню модулей.
- Сателлиты в
devcraft/src/modules/{Имя}/сmanifest.php, страницами, AJAX и своими шаблонами. - Настройки модулей через схемы форм → JSON в
devcraft/config/. - Единый AJAX:
devcraft/ajax.php(режим админки и публичный, когда нужно). - Экран Composer: зависимости PHP без консоли на сервере (с оговорками — см. быстрый старт).
- Логи работы модулей с фильтрами и просмотром записей.
- Генератор модулей — каркас нового сателлита из панели.
- Fluent Types: манифест, changelog и схемы можно писать билдерами или массивами.
- DataLoader / QueryBuilder и встроенный DLE SDK (
DcApi) — чтение и запись таблиц DLE без сырого$db->super_queryтам, где хватает API. - Локали (XLIFF), проверка и синхронизация ресурсов (assets) с сервера разработчика.
- Патчи ядра DLE через
install.xmlплагина (например условия вtemplates.class.php). - Общие типы и утилиты из пакета
devcraftclub/dev-tools.
Для кого
Пользователи панели (владельцы сайта, админы)
Вы ставите DevCraft Admin как обычный плагин DLE, включаете его и дальше работаете из браузера: настройки языка и путей, просмотр логов, обновление пакетов Composer (если сервер позволяет), проверка обновлений оболочки, запуск генератора, если автор отдал вам такую роль. Сателлиты появляются отдельными пунктами меню — их экраны уже «вшиты» в ту же оболочку, без второй админки «с нуля».
Вам важно: права групп DLE на раздел, чтобы Composer и генератор были доступны только тем, кому можно менять код/зависимости; бэкап перед обновлением плагина; понимание, что отключение Admin снимает и патчи ядра, которые шли с ним через install.xml.
Разработчики модулей
Вы пишете бизнес-логику сателлита: сущности, сервисы, страницы админки, публичные контроллеры и .tpl темы. Каркас уже на месте: маршруты экранов, Twig для админки, обработчики AJAX, схемы форм и фильтров, журналы. Держитесь слоёв Service / Repository / Controller и подключайте файлы сайта через DLEPlugins::Check(). Запросы админки и сателлитов идут через общую точку devcraft/ajax.php — отдельные скрипты в engine/ajax/ для новых модулей не нужны. Старый процедурный стиль MH Admin не копируйте: в DevCraft те же задачи решаются классами и схемами оболочки.
Почему не обычная админка DLE «как в учебнике». Штатный путь (engine/inc/ваш_mod.php + свои куски разметки и разрозненные AJAX-файлы) подходит для одного простого экрана. Как только модулей несколько, вы снова и снова собираете меню, права, формы, ответы JSON и обновления — каждый ZIP со своим каркасом. DevCraft Admin даёт одну оболочку на все сателлиты: единый вид (Metro), общие настройки и логи, готовые формы/фильтры, Composer и генератор из панели, патчи ядра через install.xml. Вы тратите время на продукт, а не на пятую копию «своей мини-админки».
Документация для кода: Руководства, справочник, PHP DevCraft Standards, конституция.
Требования
| Что | Минимум |
|---|---|
| CMS | DataLife Engine 20.0+ (ветка 200.*) |
| PHP | 8.3+ |
| Версия плагина | 200.4.0+ (почему major = 200) |
| Composer | зависимости в каталоге devcraft/ |
| PHP-расширения | simplexml, libxml, intl, fileinfo, pdo_mysql, curl, mbstring, openssl |
Память PHP — лучше от 128M. Полный чеклист: Установка.
Дерево структуры
Корень сайта DLE после установки. В скобках — зачем папка; у модуля Admin перечислены основные экраны. Каркас своего сателлита — создать модуль.
Кратко:
devcraft/— всё ядро, модули, Composer и конфиги.engine/inc/{mod}.php— тонкий вход DLE в оболочку.templates/{skin}/devcraft/— HTML публичного сайта; админский HTML — Twig внутриdevcraft/src/.
Быстрый старт для тех, кто пользуется панелью
Установите и включите плагин
Поставьте пакет DevCraft Admin через менеджер плагинов DLE, включите его. Откройте раздел DevCraft в админке. Подробности — Установка.
Загляните на «Главную»
Здесь сводка по оболочке и установленным пакетам. Если чего-то не хватает после обновления — сначала сюда и в логи.
Настройки
Язык интерфейса, тема Metro, пути (кэш, экспорты плагинов и т.п.). Сохраняйте только после проверки полей — оболочка умеет сохранять корректные значения по вкладкам. См. Управление панелью.
На что обратить внимание
- Автор / права — генератор модулей и Composer меняют файлы на диске. Давайте доступ только доверенным группам.
- Composer — удобен, когда на хостинге нет SSH. Нужны права на запись в
devcraft/vendorи достаточный лимит времени PHP. Ошибки смотрите в логах DevCraft и в ответе экрана Composer. - Логи — первое место при «не сохранилось» / «AJAX упал».
- Ресурсы (assets) — проверка и подтягивание скриптов/стилей с CDN разработчика; не путать с обновлением самого ZIP плагина.
- Сателлиты — ставятся отдельными плагинами с зависимостью от Admin; без включённого Admin их админка не поднимется как задумано.
- Отключение Admin — снимает вставки в файлы ядра DLE из
install.xml(например расширения[if]/[has]). Планируйте отключение осознанно.
Дальше по задаче
Нужен свой модуль — генератор или ручной каркас создать модуль. Переезд со старого MH Admin — миграция.
Руководства (подробнее)
Раздел в меню документации называется Руководства. Ниже — зачем открывать каждое.
| Руководство | О чём |
|---|---|
| Условия в шаблонах DLE | [if] с [else], блок [has], когда нужен compile(..., true) |
| Создать модуль | Каркас сателлита: manifest, страницы, AJAX, install.xml, публичный Controller/ |
| PHP DevCraft Standards | Язык PHPDoc, DLEPlugins::Check(), куда класть публичный фронт |
| Генератор модулей | Тот же каркас, но из экрана админки |
| Идентичность модуля | mod, код, имена констант Identity |
| Fluent Types | Билдеры манифеста / changelog / AJAX-конфига |
| DataLoader | SELECT/INSERT без сырого SQL для простых случаев |
| Слои данных | Когда DataLoader, когда Cycle, когда DcApi |
| Примеры форм | Схемы форм Metro в админке |
| CRUD-страницы | Типовые списки и карточки |
| Управление панелью | Настройки Admin на практике |
| Языки | Локали и выгрузка строк |
| Справочник ИИ | Skills, MCP и правила для агентов |
| Публичные ресурсы оболочки | Теги {devcraft*}, siteAssets, страницы стилей/скриптов/заголовков |
Разделы документации
Установка
ZIP, Composer, первый запуск
Руководства
Практические сценарии по модулям и панели
Справочник API
Классы, манифест, точки входа
Помощь в разработке
Skills, MCP, Cursor-rules для агентов
Миграция
С MH Admin на DevCraft
История изменений
Что появилось в 200.4.1
Как устроен вход в админку
AJAX идёт в devcraft/ajax.php → обработчик модуля. Сателлиты — свои mod, тот же каркас. Подробнее: точки входа.
Дальше
- Установить плагин на сайт.
- Пройти быстрый старт панели выше.
- Создать модуль или генератор.
- Правила кода — конституция PHP и PHP DevCraft Standards.
- ИИ-агенты — Помощь в разработке и Справочник ИИ.