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 OnDocFormPrerender не подключает CSS/JS. Хук OnBeforeDocFormSave всё равно пишет sidecar, если в POST есть mxeditorjs_json.

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

mxeditorjs.profile ​

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

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

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

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

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", "mxgallery", "attaches", "delimiter", "warning"]
  },
  "blog": {
    "tools": ["paragraph", "header", "list", "quote", "image", "gallery", "mxgallery", "embed", "delimiter"]
  }
}

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

mxeditorjs.available_tools ​

Список допустимых block tools пакета. Запасной вариант, если у профиля пустой tools и enabled_tools не задан. Не включает блоки напрямую, если профиль уже задан. Приоритет: ниже.

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

IDОписание
paragraphПараграф
headerЗаголовок H2–H5
listМаркированный или нумерованный список
checklistЧеклист
quoteЦитата
tableТаблица
codeБлок кода
rawСырой HTML
embedEmbed (Paste API, без кнопки в меню)
imageИзображение (ImageTool пакета)
galleryГалерея (fit/slider)
mxgalleryБлок mxGallery (toolbox только при установленном mxGallery)
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 ​

Шаблон пути для файлов-вложений (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 ссылки при сборке 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, плюс инструменты из эталонных профилей пакета при обновлении (например gallery, mxgallery)
  3. Иначе mxeditorjs.available_tools: запасной вариант

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

Пути пакета (не в transport) ​

mxeditorjs.core_path и mxeditorjs.assets_url читают plugin, bootstrap.php и connector. В _build/elements/settings.php их нет. Пустые значения заменяются на core_path/assets_url + components/mxeditorjs/.