Начало работы
Что нужно для работы
mpcVisualEditor — надстройка к MigxPageConfigurator и сам по себе не работает. Он правит тот контент, который mpc нарезал и хранит. Поэтому для запуска нужны:
- Установленный MigxPageConfigurator с нарезанными страницами;
- Включённый режим разметки в mpc — системная настройка
mpc_edit_mode=1; - Перенарезка страниц после включения
mpc_edit_mode— чтобы в чанках остались служебные маркерыdata-mpc-*(по которым редактор находит редактируемые блоки); - Право
mpcve_editу пользователя-редактора.
Без mpc_edit_mode редактор не подключится
При обычной нарезке маркеры data-mpc-* вырезаются из чанков (в готовых страницах их быть не должно). Режим mpc_edit_mode говорит каттеру оставить маркеры — поэтому после его включения страницы нужно перенарезать. Если этого не сделать, редактор не подключится, а в системный лог попадёт предупреждение.
Установка
Установите пакет через Пакеты → Установить (или из репозитория MODX). Зависимости: MigxPageConfigurator. Для правки настроек-цветов (colorpickerfield) и значений ClientConfig пригодится установленный ClientConfig, но для базовой работы он не обязателен.
При установке пакет регистрирует свои системные настройки, права (mpcve_edit, mpcve_edit_global) и плагин, который подключает редактор к фронту.
Включение режима редактирования
Когда всё установлено и страницы перенарезаны, режим правки включается на самой странице — добавлением query-параметра к адресу:
https://site.ru/about.html?mpcedit=1Имя параметра — mpcedit по умолчанию (настройка mpcve_edit_param). Чтобы редактор включился, должны совпасть все условия:
- пакет включён — настройка
mpcve_active=1; - у пользователя есть право
mpcve_edit(и он авторизован в MODX); - в mpc включён
mpc_edit_mode, а страница перенарезана; - в адресе есть
?mpcedit=1.
После этого сверху появляется панель редактора, а редактируемые блоки на странице подсвечиваются. Клик по блоку открывает нужный редактор — подробнее в разделе Редактирование полей.
Права доступа
Компонент использует два права (регистрируются при установке в политике доступа Administrator):
| Право | Что разрешает |
|---|---|
mpcve_edit | вход в режим правки и редактирование контента страницы (поля, списки, медиа) |
mpcve_edit_global | правку глобальных данных — контактов сайта и системных/контекстных настроек (они меняются на всех страницах) |
Имя основного права можно поменять настройкой mpcve_permission. Подробнее о разграничении — в разделе Права доступа.
Системные настройки
| Настройка | По умолчанию | Назначение |
|---|---|---|
mpcve_active | 1 | мастер-выключатель пакета: выкл — редактор недоступен, на фронт ничего не подключается |
mpcve_edit_param | mpcedit | имя GET-параметра входа в режим правки (?mpcedit=1) |
mpcve_permission | mpcve_edit | имя права, проверяемого при входе и сохранении |
mpcve_max_upload | 10485760 | лимит размера загружаемого изображения в байтах (10 МБ; 0 — без лимита) |
mpcve_lock_ttl | 300 | время жизни блокировки страницы в секундах (см. ниже) |
mpcve_allowed_attrs | class, … | HTML-атрибуты, сохраняемые при очистке текстовых/RTE-полей (обработчики on*, javascript: и опасный style режутся всегда) |
Блокировка одновременной правки
Чтобы двое не правили одну страницу одновременно (и не затирали правки друг друга), редактор блокирует страницу на время работы. Пока редактор открыт и активен, блокировка продлевается автоматически; если правку забросили — через mpcve_lock_ttl секунд без активности блокировка протухает, и режим завершается сам. Другой редактор в это время видит, что страница занята.
