DevCraft Документации

Начало работы 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, конституция.

Требования

ЧтоМинимум
CMSDataLife Engine 20.0+ (ветка 200.*)
PHP8.3+
Версия плагина200.4.0+ (почему major = 200)
Composerзависимости в каталоге devcraft/
PHP-расширенияsimplexml, libxml, intl, fileinfo, pdo_mysql, curl, mbstring, openssl

Память PHP — лучше от 128M. Полный чеклист: Установка.

Дерево структуры

Корень сайта DLE после установки. В скобках — зачем папка; у модуля Admin перечислены основные экраны. Каркас своего сателлита — создать модуль.

manifest.php — меню, версия, AJAX
settings.schema.php — форма настроек
changelog.data.php — история для экрана Changelog
init.php — вход админки
ajax.php — единая точка AJAX
composer.json
devcraft.php — glue → runAdmin(Admin)
{mod}.php — glue сателлита

Кратко:

  • 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-конфига
DataLoaderSELECT/INSERT без сырого SQL для простых случаев
Слои данныхКогда DataLoader, когда Cycle, когда DcApi
Примеры формСхемы форм Metro в админке
CRUD-страницыТиповые списки и карточки
Управление панельюНастройки Admin на практике
ЯзыкиЛокали и выгрузка строк
Справочник ИИSkills, MCP и правила для агентов
Публичные ресурсы оболочкиТеги {devcraft*}, siteAssets, страницы стилей/скриптов/заголовков

Разделы документации

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

AJAX идёт в devcraft/ajax.php → обработчик модуля. Сателлиты — свои mod, тот же каркас. Подробнее: точки входа.

Дальше

  1. Установить плагин на сайт.
  2. Пройти быстрый старт панели выше.
  3. Создать модуль или генератор.
  4. Правила кода — конституция PHP и PHP DevCraft Standards.
  5. ИИ-агенты — Помощь в разработке и Справочник ИИ.

На этой странице