Обновление дополнений для 3.0
Последнее обновление Sep 28th, 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
$204 per month—let's make that $500!
Learn moreВладельцы сайтов идут по Обновлению с 2.x до 3.0. Эта страница для авторов, которые собирают и сопровождают transport-пакеты.
Список совместимых пакетов: SiteDash. Подробности по каждому пункту на связанных страницах ниже. Заметки theboxer по Collection (сводка на modx.pro) показывают Extra, который расширяет modResource.
Объём поддержки¶
| Цель | Подход |
|---|---|
| Только MODX 3 | Классы с namespace, модели PSR-4, bootstrap.php. Убрать require_once старых путей ядра. |
| Один пакет на 2.x и 3.x | Ветвление по версии ($modx->version['version'] >= 3), префиксы имён классов или динамические родительские классы. Больше работы. Обзор: Modernizing Extras cheat sheet. |
Глобальные алиасы (modResource, modObjectCreateProcessor и похожие) в 3.0-3.2 по умолчанию ещё подключаются через load_deprecated_global_class_aliases. Автоподключение планируют убрать в 3.3, поэтому к этому моменту код лучше перевести на namespace. См. Изменённые имена классов.
Чеклист¶
- PHP: ориентируйтесь на минимум той линейки MODX, которую поддерживаете (требования).
- Имена классов: в
extends, type hint иinstanceofвместо коротких имён ядра используйтеMODX\Revolution\…/xPDO\…. Таблицы: Изменённые имена классов. - Процессоры: наследуйтесь от новых namespace процессоров. Flat-file процессоры уберите. Удалите
require_onceнаcore/model/modx/modprocessor.class.phpи…/processors/resource/*.class.php(эти пути исчезли). Подробнее: Процессоры. - Модели xPDO: в схеме
packageэто PHP-namespace,version="3.0", пересоберитеmetadata.mysql.php, вызовитеaddPackageс префиксом namespace, зарегистрируйте PSR-4. Гайд: xPDO 3. -
bootstrap.php: необязательный файл в корне Extra (путь namespace). Autoload,addPackage, сервисы DI. См. Пространства имён и DI-контейнер. - Меню / CMP: без
modAction. В менюactionэто имя контроллера в namespace (/manager/?namespace=myextra&a=home). См. modAction и связанные. - JS менеджера:
MODx.config.manager_language→MODx.config.cultureKey(Язык менеджера). - HTTP-клиент:
modRestClientудалён. Используйте HTTP-сервис. - Сборка / установка: проверьте install и upgrade на MODX 3. Для 3.x удобнее актуальная заготовка (ModExtra3). В 3.0 Markdown в атрибутах пакета разбирается (скрипт сборки).
Пример: Extra расширяет modResource (Collections)¶
Если кастомный ресурс должен попадать в $modx->getDescendants(\MODX\Revolution\modResource::class), в схеме у extends нужно полное имя класса ядра.
Схема¶
Было:
<object class="CollectionContainer" extends="modResource">
<!-- колонки без изменений -->
</object>
После:
<object class="CollectionContainer" extends="MODX\Revolution\modResource">
<!-- колонки без изменений -->
</object>
Пересоберите модель, чтобы обновился metadata.mysql.php.
PHP-класс и процессоры¶
Уберите устаревшие подключения, например:
require_once MODX_CORE_PATH . 'model/modx/modprocessor.class.php';
require_once MODX_CORE_PATH . 'model/modx/processors/resource/create.class.php';
require_once MODX_CORE_PATH . 'model/modx/processors/resource/update.class.php';
Наследуйтесь от типов с namespace:
| 2.x | 3.x |
|---|---|
modResource |
MODX\Revolution\modResource |
modResourceCreateProcessor |
MODX\Revolution\Processors\Resource\Create |
modResourceUpdateProcessor |
MODX\Revolution\Processors\Resource\Update |
То же для любых {ClassKey}CreateProcessor / {ClassKey}UpdateProcessor. См. Процессоры и пользовательские классы ресурсов.
Связанные страницы¶
- Критические изменения
- Изменённые имена классов
- Процессоры
- xPDO 3
- modAction и связанные
- Пространства имён
- Modernizing Extras (серия в блоге MODX)
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
$204 per month—let's make that $500!
Learn more










