Настройка среды разработки
Последнее обновление Aug 17th, 2026 | История страницы | Улучшить эту страницу | Сообщить о проблеме
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$195 per month—let's make that $500!
Learn moreДля кого эта страница¶
Здесь описана среда для разработки Extras (сниппеты, плагины, CMP, транспортные пакеты) на локальном сайте MODX Revolution.
Если вы правите ядро MODX, смотрите Contribute: среды разработки (форк, upstream, tooling).
Полный разбор одного Extra от сниппета до пакета — в Создании дополнения. Эта страница — чеклист окружения, на которое опирается тот учебник.
Что нужно¶
- Локальный веб-сервер и PHP/MySQL по требованиям к серверу для вашей версии MODX (Revolution 3.x — PHP 8.1+, для git-установки ещё Composer)
- Рабочий локальный сайт MODX, который можно ломать и переустанавливать
- Редактор или IDE (PhpStorm, VS Code и аналоги)
- По желанию: Git для проекта Extra и Composer, если ставите MODX из git
Отдельный MODX на каждый Extra не обязателен. Один локальный сайт тянет несколько дополнений в разработке.
Установка локального MODX¶
Два пути:
- Обычный zip — скачать с modx.com/download, распаковать в веб-корень, запустить Setup. Быстрее всего для работы над Extra, если не нужен bleeding-edge core.
-
Из git — клон ветки
3.x,composer install, сборка core-пакета, затем Setup. Нужно, если вы ещё и вносите правки в ядро. См. установку из Git.
После Setup войдите в Менеджер и убедитесь, что сайт открывается. Чистите core/cache/, если эксперименты с путями и конфигом пошли криво.
Задайте этой установке уникальный session_name (например modxlocaldevsession), чтобы cookie не пересекались с другими локальными сайтами MODX на том же домене. После смены очистите core/cache/ и войдите снова.
Рекомендуемая раскладка каталогов¶
Держите Extra вне дерева ядра MODX. Тогда история Git чистая, и вы не закоммитите файлы core по ошибке.
Пример (пути под свою машину):
/www/modx/ ← установка MODX Revolution (веб-корень или vhost)
/www/doodles/ ← проект Extra (свой Git-репозиторий)
assets/components/doodles/
core/components/doodles/
_build/
После установки транспортный пакет кладёт файлы в core/components/yourpkg/ и assets/components/yourpkg/ внутри сайта MODX. В разработке вы либо:
- держите ту же раскладку в отдельном клоне и указываете MODX пути через Namespace / системные настройки, либо
- делаете symlink или копируете в дерево MODX (работает, но Git и обновления усложняются)
В Создании дополнения проект лежит в /www/doodles/, а MODX смотрит на него через системные настройки путей. Так удобно работать командой.
Типичные каталоги Extra:
| Путь | Назначение |
|---|---|
core/components/yourpkg/ |
PHP: model, elements, lexicon, processors, controllers |
assets/components/yourpkg/ |
JS, CSS, картинки, connector.php для AJAX CMP |
_build/ |
Скрипты сборки и данные пакета (в zip не входят) |
См. также структуру компонента и транспортные пакеты.
Подключить MODX к Extra¶
- Создайте в Менеджере Namespace (
yourpkg) с путями наcoreиassetsвашего проекта. - Добавьте системные настройки вроде
yourpkg.core_pathиyourpkg.assets_url(или те ключи, которые ждёт Extra), чтобы сниппеты и сервисы находили файлы внеcore/components/по умолчанию. - Зарегистрируйте элементы (сниппет, плагин, пункт меню CMP), которые ходят по этим путям, или поставьте их скриптом сборки/установки.
Пока пути не сходятся, $modx->getService() и процессоры падают с ошибками «нет класса/файла». Сначала Namespace и настройки, потом очистка кэша.
Если Extra открывается с другого локального пути, чем Менеджер (например Менеджер /modx/manager/, assets Extra /doodles/), поставьте session_cookie_path в /, чтобы сессия входа была общей. После смены очистите кэш и войдите снова.
Настройки, которые ускоряют работу над Extra¶
| Настройка | Зачем |
|---|---|
cache_lexicon_topics = Нет |
Правки лексикона видны без борьбы с кэшем топиков |
session_name |
Уникальное имя на каждый локальный сайт |
session_cookie_path |
Общая сессия на разных локальных путях |
Пока крутите PHP, после смены путей или class map чистите core/cache/ или используйте «Управление → Очистить кэш». Для схемы/модели пересоберите карты скриптом Extra, затем снова очистите кэш.
Упаковка¶
Когда Extra работает из Менеджера:
- Оставьте
_build/в репозитории Extra (resolvers, data vehicles, скрипт сборки) - Соберите транспортный пакет в
core/packages/(или куда пишет ваш build) - Поставьте или обновите пакет на чистом локальном MODX для проверки
Пошаговая упаковка — в Создании дополнения, часть III. Для простых Extra, собранных в основном в Менеджере, подойдёт и PackMan.
Куда идти дальше¶
- Эта страница — локальный сайт и раскладка Extra
- Введение для разработчика — MVC², коннекторы, процессоры
- Создание дополнения — сниппет, CMP, пакет
- Создание компонентов — ещё один полный курс (с упором на PhpStorm)
- Пользовательские страницы Менеджера и xPDO для углубления
Смотрите также¶
- Установка из Git
- Contribute: среды разработки (работа над ядром)
- Contribute: инструменты
- Требования к серверу
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$195 per month—let's make that $500!
Learn more










