Короткий ответ
Как принимать существующий проект MODX, оценивать Extras, шаблоны, сниппеты, плагины и самописные компоненты. Разбираем практический порядок работ, риски, стоимость и то, как принять результат без новых проблем.
Ниже — конкретные проверки, команды, таблицы и контроль результата. Выполняйте изменения только после резервной копии, если действие затрагивает рабочую систему.
Что проверить в чужом MODX-проекте
| Область | Что фиксируем |
|---|---|
| MODX/PHP/DB | версии |
| Extras | версии, источник, поддержка |
| Plugins | события и побочные эффекты |
| Snippets | SQL/API/cache |
| Custom components | namespace, processors, model |
| Manager | ACL, connectors, JS |
| Cron/API | скрытые зависимости |
Быстрый аудит логов и свежих PHP-файлов
tail -n 120 /path/to/site/core/cache/logs/error.log
find /path/to/site -type f -name '*.php' -mtime -60 -printf '%TY-%Tm-%Td %TH:%TM %p\n' 2>/dev/null | sort -r | head -n 100Правило приёма проекта
Не меняйте core и vendor без крайней необходимости. Сначала зафиксируйте рабочее состояние, создайте staging и определите, какие части можно обновлять штатно через package manager/transport package.
Как проверить результат
После изменений повторите исходный сценарий, зафиксируйте результат и убедитесь, что соседние функции работают так же, как до правки. Если проблема проявляется не всегда, проведите несколько повторов в одинаковых условиях и сохраните диагностические данные.
Какие данные нужны MODX-разработчику до оценки
Для технической оценки достаточно версии MODX Revolution, версии PHP, перечня установленных extras и чёткого описания симптома. Отдельно сообщите, используются ли miniShop2, Fenom, pdoTools, собственные плагины на системных событиях и кастомные таблицы. При наличии ошибки приложите обезличенный фрагмент error.log с точным временем и действиями для воспроизведения.
Работы безопаснее начинать с инвентаризации компонентов, резервного копирования и тестовой копии. Замена файлов ядра или прямое редактирование продакшен-базы без плана отката повышают риск повреждения магазина.