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;
        }
    }
}
?
Была ли статья полезной?

Здравствуйте!

Позвольте представиться, меня зовут Марина. Более 10 лет я занимаюсь обслуживанием сайтов и развитием интернет проектов. Если вы хотите избавиться от хлопот связанных с созданием и поддержкой сайта, тогда вы попали по адресу. При работе с сайтами я предоставляю качественные услуги, ориентируясь на ваши индивидуальные потребности. Для связи со мной воспользуйтесь формой обратной связи.

Инсталента
Пожалуйста, активируйте JavaScript.
Please enable JavaScript.
return; 1