
- MODX 3
- PHP 8.1


mxHeadless рассчитан на MODX Revolution 3.2.3+ и PHP 8.1+.
Если transport зашифрован, без провайдера установка падает с Package provider not found.
https://modstore.pro/extras/Создаются namespace mxheadless, плагин OnHandleRequest, меню, системные настройки, таблицы и право mxheadless_apikeys.
Соберите пакет из исходников или скачайте релиз с GitHub:
cd _build
php build.phpВ Manager: Пакеты → Установить пакет, загрузите .transport.zip.
Завершите установку и очистите кэш.
Ключи настроек перешли с точек (mxheadless.cors.enabled) на подчёркивания (mxheadless_cors_enabled). Resolver при upgrade копирует значения и удаляет старые строки. После обновления очистите кэш MODX.
Добавлена настройка mxheadless_context (default web): bootstrap-контекст для gateway и api.php. Значение mgr игнорируется.
Скопируйте или смонтируйте core/components/mxheadless/ в установку MODX:
cd core/components/mxheadless
composer install --no-dev --optimize-autoloaderПроверьте namespace mxheadless в Система → Пространства имён.
OnHandleRequest Префикс по умолчанию: /api (mxheadless_api_prefix). Запросы /api/v1/... обрабатывает приложение пакета.
| Настройка | По умолчанию | Назначение |
|---|---|---|
mxheadless_api_prefix | /api | Префикс URL до /v1 |
mxheadless_context | web | Bootstrap-контекст MODX для API. mgr игнорируется |
mxheadless_enabled | true | Kill switch |
mxheadless_debug | false | Подробные ошибки (только dev) |
api.php Без ЧПУ. С PATH_INFO:
https://your-site.example/assets/components/mxheadless/api.php/v1/healthНа nginx/Herd (часто без PATH_INFO у вложенных .php) используйте query route:
https://your-site.example/assets/components/mxheadless/api.php?route=/v1/health
https://your-site.example/assets/components/mxheadless/api.php?route=/api/v1/resources&limit=5Голый api.php ведёт на discovery. Оба входа используют один pipeline middleware.
| Что | Подробности |
|---|---|
| Таблицы | mxheadless_api_keys, mxheadless_oauth_clients, mxheadless_oauth_tokens, mxheadless_webhook_subscriptions, mxheadless_webhook_deliveries, mxheadless_api_log |
| Право | mxheadless_apikeys (по умолчанию у Administrator) |
| Меню | Компоненты → mxHeadless |
| Событие | OnMxHeadlessRegister |
Включите friendly URLs. Отдельный ресурс MODX для API не нужен. За балансировщиком настройте trusted proxies.
curl -s https://your-site.example/api/v1 | jq
curl -s https://your-site.example/api/v1/health | jq
curl -s 'https://your-site.example/api/v1/resources?limit=5&filter[published]=1' | jq