Версия 1.0.0-pl
Дата выпуска 25.09.2026
Загрузки 0
Просмотры 13
Каждый раз, когда нужно поменять пару настроек, происходит одно и то же: выбираем пространство имён в фильтре, выбираем раздел во втором фильтре, листаем постраничную навигацию, дважды кликаем по ячейке «Значение», промахиваемся, кликаем ещё раз, вводим значение, жмём Enter и ждём, пока строка сохранится. Потом следующая. А описание настройки прячется за плюсиком, который тоже нужно нажать.

EasySettings показывает те же настройки формой: слева название, описание и ключ, справа поле нужного типа. Меняете сколько угодно значений и сохраняете их одним нажатием.

Адрес страницы, пункт меню и права остаются прежними, а внешне страница не отличается от менеджера: те же вкладки, кнопки, окна и цвета MODX 3 или MODX 2.

EasySettings в MODX 3

Никаких двойных кликов


Каждая настройка — строка, поле сразу редактируемое и подходит типу: переключатель Да/Нет, число, пароль с кнопкой «Показать», JSON с проверкой, растущее текстовое поле. Комбобоксы ядра — список с теми же вариантами; настройки сторонних дополнений со своим xtype рисуются их собственным ExtJS-компонентом.

Текстовые настройки ядра, у которых на самом деле фиксированный набор значений — log_level, link_tag_scheme, friendly_alias_translit и другие, — тоже показываются списком. Больше не нужно открывать документацию, чтобы вспомнить, что там было: abs или full.

Раздел целиком, без пагинации


Слева дерево пространств имён и разделов в стиле MODX. Раздел открывается как отдельная страница со своим адресом (&ns=core&area=site): работают «Назад» и «Вперёд», ссылку можно открыть в новой вкладке, а несохранённые правки при переходе не теряются. Раскрытые папки и прокрутка дерева помнятся между загрузками.

Настройки раздела грузятся при переходе к нему, поэтому на сайте с тремя десятками дополнений страница открывается так же быстро, как на чистой установке.

Сохранение пачкой


Изменённые строки отмечаются, внизу появляется панель «Отменить» / «Сохранить». Или Ctrl+S — он работает в любой раскладке. Уход со страницы с несохранёнными правками требует подтверждения.

Каждая настройка сохраняется процессором ядра, так что вся логика MODX работает как раньше: перезагрузка конфигурации, пересчёт URI при смене friendly_urls, проверка прав. Если одна настройка не сохранилась, остальные всё равно сохранятся.

Изменённые строки и панель сохранения

Поиск, который находит больше штатного


По названию, ключу, описанию и значению во всех пространствах имён сразу, с подсветкой совпадений. Находит и переводы из файлов лексикона, которые поиск ядра не видит. / или Ctrl+K — в поле поиска.

Сортировка — по ключу, названию или дате изменения. Удобно, когда нужно вспомнить, что же вы там меняли на прошлой неделе.

Поиск по всем пространствам имён

Правый клик никуда не делся


По строке он открывает меню, как в гриде MODX: «Редактировать», «Скопировать ключ», «Вернуть сохранённое значение» и «Удалить». Правый клик по полю ввода оставляет меню браузера — вставлять из буфера ведь тоже как-то нужно.

Меню строки

В окне правки меняется всё: тип поля, пространство имён, раздел, название, описание и значение. Название и описание пишутся в лексикон на языке менеджера и только если их действительно поменяли.

Окно правки настройки

Вкладка «Системные события»


События по группам с подписанными плагинами, поиск и сортировка по числу плагинов. Пользовательские события можно создавать и удалять, события ядра — как и раньше, нельзя.

Вкладка «Системные события»

А если хочется по-старому


Кнопка «Классический вид» открывает штатную таблицу, а на ней рядом с Help! появляется кнопка «Удобный вид», чтобы вернуться обратно. Выключить компонент совсем можно настройкой easysettings.enabled.

Штатная таблица с кнопкой «Удобный вид»

Про ExtJS


Интерфейс написан на Svelte, ExtJS в нём только там, где без него никак: поля сторонних дополнений со своим xtype рисуются их собственными компонентами, подтверждения и уведомления — штатными окнами MODX. Бандл интерфейса — около 160 КБ, по сети меньше 50 КБ в gzip.

Строки интерфейса берутся из лексикона MODX на языке менеджера, свои переведены на английский, русский и таджикский.

EasySettings в MODX 2

1.0.0-pl

  • Порядок строк в карточках выбирается рядом со счётчиком: настройки — по ключу, названию или дате изменения, события — по имени или числу плагинов; стрелка рядом меняет направление. Настройки, которые не меняли, при сортировке по дате стоят в конце. Для этого список настроек отдаёт дату изменения и временем Unix (edited): ядро присылает её уже отформатированной.
  • Правый клик по строке настройки или события открывает то же меню, что кнопка «⋯», — как контекстное меню грида MODX. В полях ввода остаётся меню браузера — с «Вставить».
  • Переход у кнопок, в том числе у меню строки, — как у .x-btn: в MODX 3 плавно меняется только фон (0.2s), в MODX 2 перехода нет. Раньше плавно менялись фон и текст, а рамка — сразу, и синяя кнопка MODX 2 проявлялась рывками.
  • Крестик окна — SVG вместе с кругом подсветки, а не глиф Font Awesome: глиф прилипал к пиксельной сетке, и на масштабе 125–150% крестик съезжал с центра круга.
  • Меню строки и окна снова закрываются по Escape: клавишу перехватывал ExtJS менеджера (слушает keydown на document и останавливает всплытие), и обработчики на window её не получали. Теперь меню слушает Escape в фазе перехвата, а окно — на самом себе, раньше document; Escape, адресованный окну ExtJS поверх формы, по-прежнему её не закрывает.
  • Меню строки выглядит и ведёт себя как в EasyFavicon, EasyCookies и modSizeControl — как x-menu менеджера: рамка #c7c7c7, пункты 13px с отступами MODX, в MODX 2 пункт под курсором заливается синим. У кнопки меню встаёт вплотную под ней левым краем, стрелки ходят по пунктам, а открытое с клавиатуры меню сразу ставит фокус на первый пункт.
  • Кнопки страницы выравниваются заново после сворачивания и разворачивания дерева менеджера: Ext меняет ширину центральной панели и её место не разом, ResizeObserver видит только первое, и при развёрнутом дереве кнопки уезжали за правый край.

1.0.0-beta1

  • Первый релиз.
  • Подмена страницы «Системные настройки» (?a=system/settings) плагином на OnManagerPageBeforeRender: адрес, меню и права прежние, штатный грид не создаётся.
  • Настройки сгруппированы по пространствам имён и разделам: название и описание слева, поле справа. Навигация с подсветкой текущего раздела.
  • Вкладки «Настройки» и «События», как у штатной страницы.
  • Дерево слева в стиле MODX; раздел открывается как отдельная страница со своим адресом и историей браузера, без перезагрузки и без потери несохранённых правок.
  • У дерева своя прокрутка, высотой ровно до низа видимой области: переход в раздел не уводит его вверх вместе со страницей. Раскрытые папки и положение прокрутки помнятся в браузере.
  • Загрузка по разделам вместо «всё сразу»: дерево со счётчиками — отдельный лёгкий запрос, настройки раздела — при переходе к нему. На сайте с десятками дополнений страница больше не тянет мегабайты.
  • Поиск на сервере по всем пространствам имён: название, ключ, описание, значение; видит и переводы из файлов лексикона, которые поиск ядра пропускает.
  • После смены manager_language страница перезагружается, чтобы интерфейс пришёл на новом языке.
  • Редактирование настройки целиком: тип, пространство имён, раздел, название, описание, значение. Переводы пишутся в язык менеджера и только при изменении.
  • События: список по группам с плагинами, создание и удаление пользовательских.
  • Текстовые настройки ядра с известными значениями (log_level, link_tag_scheme…) — выпадающим списком.
  • Поля, кнопки, фокус, вкладки и заголовки повторяют метрики менеджера MODX 3 / MODX 2; кнопки действий в MODX 3 стоят на той же высоте, что и на штатных страницах.
  • Строки интерфейса берутся из лексикона MODX на языке менеджера; свои — только для того, чего в ядре нет.
  • Свои строки переведены на английский, русский и таджикский (tg).
  • Пакетное сохранение: отметка изменённых строк, панель несохранённых изменений, Ctrl+S в любой раскладке, предупреждение при уходе со страницы. Ошибка одной настройки не отменяет остальные.
  • Поля по xtype: переключатель Да/Нет, число и JSON с проверкой, пароль с «Показать», растущий textarea; комбобоксы ядра — обычный `` с теми же вариантами, сторонние xtype — собственным ExtJS-компонентом.
  • Создание и удаление настроек через процессоры ядра.
  • Палитра менеджера: зелёная MODX 3 или бирюзовая MODX 2.
  • Классическая таблица — по ?a=system/settings&classic=1, назад — кнопкой «Удобный вид» рядом с Help!; вся подмена выключается настройкой easysettings.enabled.
  • Поддержка MODX 2.8+ и MODX 3.x из одной кодовой базы (compat.inc.php).
  • Docker-окружение: MODX 3.2.4/PHP 8.3 и MODX 2.8.6/PHP 7.4 с автоустановкой.
  • Релиз собирает GitHub Actions на MODX 2.8.6: PHP в пакете без комментариев, скрипты минифицированы, к релизу прикладываются архив и заметки из истории коммитов.

Последние обсуждения в сообществе MODX.pro