
- MODX 3
- PHP 8.2


Сбои в менеджере и при разработке пакета. FAQ для редакторов: FAQ.
which_editor = mxEditorJs, use_editor = Да, mxeditorjs.enabled = Даmxeditorjs.js?v=...При ошибке инициализации Editor.js показывается запасной вариант: textarea.
Консоль:
console.log(window.mxEditorJsConfig);Ожидаются: connectorUrl, resourceId, enabledTools, galleryMaxCount, locale.
| Симптом | Проверка |
|---|---|
| 403 / Permission denied | Права save_document, сессия менеджера |
| Файл слишком большой | mxeditorjs.max_upload_size, upload_max_filesize в PHP |
| Неверный тип | mxeditorjs.allowed_image_types, MIME через finfo_file |
| Папка недоступна | Media Source ID, запись в image_upload_path / file_upload_path |
Патч patch-package для @editorjs/attaches не применился. В каталоге пакета:
npm install
npm run buildСкопируйте mxeditorjs.js в assets/components/mxeditorjs/js/. После npm update @editorjs/attaches пересоберите patch: npx patch-package @editorjs/attaches.
URL: assets/components/mxeditorjs/connector.php. Во вкладке Network смотрите action и тело { success, message }. HTTP-код при ошибке auth: 200, не 403.
Типовые message: ошибки проверки от ContentValidator.
Два сборщика HTML: клиент renderPreviewHtml (форма) и сервер HtmlRenderer (content/save и content/migrate). Сверьте логику блока в обоих. См. Архитектура.
Resolver добавляет gallery в available_tools и профили. Если правили JSON mxeditorjs.profiles вручную, сверьте его и очистите кэш.
MODX читает не каталог Extras/, а:
core/components/mxeditorjs/assets/components/mxeditorjs/Синхронизация:
cp -r Extras/mxEditorJs/core/components/mxeditorjs/ core/components/mxeditorjs/
cp -r Extras/mxEditorJs/assets/components/mxeditorjs/ assets/components/mxeditorjs/Или rsync:
rsync -av --delete Extras/mxEditorJs/core/components/mxeditorjs/ core/components/mxeditorjs/
rsync -av --delete --exclude='node_modules' Extras/mxEditorJs/assets/components/mxeditorjs/ assets/components/mxeditorjs/SELECT id, name, static, static_file FROM modx_site_plugins WHERE name = 'mxEditorJs';При static = 1 правьте Extras/.../mxeditorjs.plugin.php без пересохранения элемента в менеджере.
rm -rf core/cache/mgr/ core/cache/includes/ core/cache/scripts/Или Настройки → Очистить кэш.
mxeditorjs_json, mxeditorjs_tv_{id}_json[mxEditorJs] в syncToTextarea / renderPreviewHtmlmxeditorjs_content, поле content_hashgrep '\[mxEditorJs\]' core/cache/logs/error.log| Симптом | Решение |
|---|---|
| Редактор не грузится | npm run build, скопировать mxeditorjs.js |
| MutationObserver error | Пересобрать и скопировать JS |
| TV не инициализируется | Textarea + Rich Text = Да |
| Attaches без диалога | npm install, patch-package |
| Gallery нет в toolbar | Проверить available_tools, профиль, кэш |