Skip to content
  1. Компоненты
  2. mxEditorJs
  3. Начало работы
  4. Системные настройки

Системные настройки

Все настройки имеют префикс mxeditorjs. и находятся в пространстве имён mxeditorjs.

Где изменить: Настройки → Системные настройки — фильтр по пространству имён mxeditorjs.

Краткая справка

НастройкаНазначениеПо умолчанию
mxeditorjs.enabledВключить/выключить редакторДа
mxeditorjs.profileПрофиль инструментов: default, minimal, blog, fulldefault
mxeditorjs.enabled_toolsСвой список инструментов (переопределяет профиль)
mxeditorjs.image_mediasourceID Media Source для загрузки изображений и галереи1
mxeditorjs.file_mediasourceID Media Source для файлов-вложений (Attaches)1
mxeditorjs.image_upload_pathШаблон пути загрузки изображений (Image, Gallery)images/resources/{resource_id}/
mxeditorjs.file_upload_pathШаблон пути загрузки файлов (Attaches)files/resources/{resource_id}/
mxeditorjs.gallery_max_countМакс. число изображений в блоке Gallery (0 = без лимита)0
mxeditorjs.max_upload_sizeМакс. размер файла в байтах (5 МБ = 5242880)5242880
mxeditorjs.allowed_image_typesДопустимые расширения изображенийjpg,jpeg,png,gif,webp,svg

Область: основные (mxeditorjs)

mxeditorjs.enabled

Включает или выключает редактор. При false плагин не подключает ассеты и не обрабатывает сохранение.

Типcombo-boolean
По умолчаниюtrue

mxeditorjs.profile

Имя активного профиля инструментов. Профили задаются в mxeditorjs.profiles.

Типtextfield
По умолчаниюdefault

Предустановленные профили:

ПрофильИнструменты
defaultparagraph, header, list, checklist, quote, table, code, raw, embed, image, gallery, attaches, delimiter, warning
minimalparagraph, header, list, image
blogparagraph, header, list, quote, image, gallery, embed, delimiter
fullВсе инструменты (как default, включая gallery)

mxeditorjs.enabled_tools

Переопределение профиля. Если задано — используется этот список (через запятую), профиль игнорируется.

Пример: paragraph,header,list,embed,image

mxeditorjs.profiles

JSON-объект с определениями профилей. Каждый профиль — объект с массивом tools.

json
{
  "default": {
    "tools": ["paragraph", "header", "list", "checklist", "quote", "table",
              "code", "raw", "embed", "image", "gallery", "attaches", "delimiter", "warning"]
  },
  "blog": {
    "tools": ["paragraph", "header", "list", "quote", "image", "gallery", "embed", "delimiter"]
  }
}

Чтобы добавить профиль: допишите ключ в JSON и установите mxeditorjs.profile на его имя.

mxeditorjs.available_tools

Whitelist всех block tools пакета. Fallback, если у профиля пустой tools и enabled_tools не задан. Не включает блоки напрямую, если профиль уже задан — см. приоритет ниже.

По умолчанию: paragraph,header,list,checklist,quote,table,code,raw,embed,image,gallery,attaches,delimiter,warning

IDОписание
paragraphПараграф
headerЗаголовок H2–H5
listМаркированный или нумерованный список
checklistЧеклист
quoteЦитата
tableТаблица
codeБлок кода
rawСырой HTML
embedEmbed (Paste API, без кнопки в меню)
imageИзображение (кастомный ImageTool)
galleryГалерея (fit/slider)
attachesФайл-вложение
delimiterРазделитель
warningПредупреждение

Inline-инструменты (marker, inline-code, underline, linkAutocomplete) и tunes (alignment, undo) подключены всегда и не настраиваются через профили.

Область: медиа (mxeditorjs_media)

mxeditorjs.image_mediasource / mxeditorjs.file_mediasource

ID Media Source для изображений и для файлов-вложений (инструмент Attaches). По умолчанию 1 (стандартный файловый источник).

mxeditorjs.image_upload_path

Шаблон пути внутри Media Source для изображений (блоки Image и Gallery). Плейсхолдер {resource_id} подставляется ID ресурса.

Примеры: images/resources/{resource_id}/, uploads/images/, content/{resource_id}/img/

mxeditorjs.file_upload_path

Шаблон пути внутри Media Source для файлов-вложений (блок Attaches). Независим от image_upload_path.

Примеры: files/resources/{resource_id}/, uploads/files/, content/{resource_id}/attachments/

mxeditorjs.gallery_max_count

Максимальное количество изображений в одном блоке Gallery. Значение 0 — без ограничения. Загрузка и выбор через «Обзор» используют те же Media Source и путь, что и блок Image (mxeditorjs.image_mediasource, mxeditorjs.image_upload_path).

mxeditorjs.allowed_image_types

Допустимые расширения изображений через запятую: jpg,jpeg,png,gif,webp,svg

mxeditorjs.max_upload_size

Максимальный размер загружаемого файла в байтах. Примеры: 1048576 (1 МБ), 5242880 (5 МБ), 10485760 (10 МБ).

Область: пресеты (mxeditorjs_presets)

mxeditorjs.image_class_presets

JSON: CSS-классы для изображений. Пользователь выбирает стиль в настройках блока Image в manager.

Формат: {"display_name": "css-class"}

json
{
  "default": "",
  "full-width": "img-fluid w-100",
  "thumbnail": "img-thumbnail",
  "rounded": "rounded"
}

Внимание

Серверный HtmlRenderer и клиентский renderPreviewHtml не добавляют выбранный пресет к тегу <img>. Пресет хранится в JSON блока. Для фронта подключите свою логику или кастомный рендерер блока image.

mxeditorjs.link_class_presets

json
{
  "default": "",
  "button-primary": "btn btn-primary",
  "external": "external-link"
}

mxeditorjs.link_target_options / mxeditorjs.link_rel_options

JSON-варианты target и rel для диалога ссылки. Класс из link_class_presets попадает в HTML ссылки при рендере.

Связанные настройки MODX

НастройкаЗначение для mxEditorJsОписание
which_editormxEditorJsВыбор RTE в менеджере (обязательно для активации)
use_editortrueГлобальное включение визуального редактора
which_element_editor(любое)Редактор кода элементов. Не влияет на mxEditorJs
cultureKeyen / ruЯзык интерфейса. mxEditorJs наследует для локализации

Приоритет набора инструментов

Логику реализует MxEditorJs\Config\EditorTools:

  1. mxeditorjs.enabled_tools (если не пусто) — высший приоритет
  2. Иначе mxeditorjs.profiles[mxeditorjs.profile].tools, пересечение с mxeditorjs.available_tools, плюс инструменты из эталонных профилей пакета при upgrade (например gallery)
  3. Иначе mxeditorjs.available_tools — fallback

При обновлении с версий до 1.1.0 resolver resolve.settings.php добавляет gallery в available_tools и профили default, full, blog, если их там не было. После upgrade проверьте JSON в mxeditorjs.profiles и очистите кэш.