
- MODX 3
- PHP 8.2


Как включить mxEditorJs в MODX, использовать в TV и выводить контент на сайте.
mxeditorjs).Редактор подключается плагином на OnDocFormPrerender и инициализируется при появлении поля контента (или TV с richtext).
Сохранение через форму ресурса (основной путь):
renderPreviewHtml) в textarea и hidden fieldsmodResource.content / TVOnBeforeDocFormSave пишет JSON в sidecarConnector content/save форма не вызывает. Он нужен для AJAX и кастомных интеграций. Подробнее: Потоки.
which_editor = mxEditorJs в этом TV будет тот же блочный редактор.Контент TV хранится в sidecar-таблице mxeditorjs_tv_content в формате Editor.js. При выводе на сайте используется сгенерированный HTML (как и для основного контента).
Контент ресурса (основное поле content) после сохранения в mxEditorJs хранится в двух видах:
modResource.content (используется при выводе на фронте).В шаблоне выводите контент как обычно:
[[*content]]{$_modx->resource.content}Дополнительные TV с Editor.js выводятся через плейсхолдеры TV (например [[*my_richtext_tv]] или через Fenom). HTML попадает в textarea TV при сохранении. На фронте всегда готовый HTML.
Если у вас уже есть ресурсы с HTML в поле контента, можно конвертировать их в формат Editor.js.
resource_id, при необходимости dry_run=1 (предпросмотр), затем confirmed=1 для перезаписи.dry_run приходит preview (блоки) и blocks_count. При успешной миграции — migrated, blocks_count, overwritten.После миграции при открытии ресурса в менеджере контент отображается в блочном редакторе. На сайте по-прежнему выводится HTML из modResource.content, обновлённый при миграции.
Набор блоков (параграф, заголовок, список, картинка и т.д.) задаётся профилем (mxeditorjs.profile) или списком mxeditorjs.enabled_tools. См. Системные настройки.
{resource_id}).0 = без лимита).<img> в HTML-снимке — см. Системные настройки.HTML-снимок блока Gallery генерируется при сохранении (клиент renderPreviewHtml или сервер HtmlRenderer при content/save). Разметка:
<figure class="mxeditorjs-gallery mxeditorjs-gallery--fit"> — сетка (режим Fit)<figure class="mxeditorjs-gallery mxeditorjs-gallery--slider"> — горизонтальный скролл (режим Slider)Файл gallery-front.css подключает только manager (превью в форме ресурса). На витрине CSS не грузится автоматически.
Подключите стили в шаблоне или теме:
<link rel="stylesheet" href="/assets/components/mxeditorjs/css/gallery-front.css">Либо скопируйте правила из assets/components/mxeditorjs/css/gallery-front.css в CSS темы.
Блок embed выводит <div class="mxeditorjs-embed"><iframe ...></iframe></div>. RuTube и другие сервисы @editorjs/embed настраиваются в mxeditorjs.ts (секция services), отдельной системной настройки нет. Кастомный сервис добавляет разработчик в исходниках — см. Архитектура.