MODX. Подключение внешних php файлов

Поскольку MODX кеширует файлы, так просто подключить свой php класс или библиотеку не получится. Для того чтобы это сделать, необходимо добавить файл до окончания инициализации MODX.

Будьте внимательны, неправильное указание пути может привести к 500 ошибке при попытке попасть в административную панель, которую можно исправить только c наличием доступа к SQL базе и FTP. 

Создаем плагин привязанный к событию OnMODXInit

Идем на вкладку элементы, нажимаем кнопку «Новый плагин», даем ему имя и указываем следующий код. На вкладке «системные события» ставим галку напротив OnMODXInit

switch ($modx->event->name) {
    case 'OnMODXInit':
        // Укажем путь до файла
        $file = MODX_CORE_PATH . 'classes/my.class.php';
        if (file_exists($file)) {
            require_once $file;
        }
        break;
}

Если вы все же нарвались на 500 ошибку, удалите плагин с помощью phpMyAdmin в таблице prefix_site_plugins, и удалите папку с кешем /core/chache

Вариант с инициализацией MODX в классе/файле/библиотеке

/* Подключаем MODX */

require_once '/absolute/path/to/modx/config.core.php';
require_once MODX_CORE_PATH.'model/modx/modx.class.php';
$modx = new modX();
$modx->initialize('web');
$modx->getService('error','error.modError', '', '');

$classPath= MODX_CORE_PATH . 'classes/';
if (file_exists($classPath)) {
    $files= scandir($classPath);
    foreach ($files as $file) {
        if (preg_match('/.+\.class.php$/',$file)) {
            require $classPath . $file;
        }
    }
}