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.

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 и очистите кэш.