Я Articles не использую, но судя по всему у вас путаница в целом. $document = $modx->newObject('Article'); Для того, чтобы это корректно работало, вам нужно подключить пакет, если он не подключен, а именно использовать $modx->addPackage() или подключить extenstionPackage. Подробней написано здесь: modxclub.ru/blog/115.html Когда подключается пакет, тогда указывается папка, в которой xPDO будет искать запрашиваемые классы. Когда выполняется метод $modx->newObject($className), xPDO выполняет loadClass($className), который ищет не только сам файл с этим классом, но и сопутствующие файлы для конкретного типа базы данных (мап- и db- файлы). А вот используемый метод $modx->getService($serviceName, $className) тоже выполняет $modx->loadClass(), но только с еще тремя параметрами ('', false, true), которые указывают, что не надо использовать мап-файл. В итоге вы получаете указанный класс, но теряете mysql-класс (не подгружается сопутствующий файл). Вот поэтому вы и получаете фатальную ошибку Fatal error: Class 'Article_mysql' not found in… Собственно, поэтому я и говорю, что вы все напутали. $modx->getService() используется совершенно для других целей.