Проблема с внешний файл ajax.php
Всем всем доброго дня. Вопрос у меня такой. Я разработал собственный некий модуль с названием 'managers', который, в свою очередь, работает с БД. В файле model\managers\managers.class.php написал следующее:
class Managers {
public $modx;
public $config = array();
function __construct(modX &$modx, array $config = array() ) {
$this->modx =& $modx;
<a name="cut"></a>
$name = 'managers';
$basePath = dirname($this->modx->getOption('core_path',$config,$this->modx->getOption('core_path'))).'/mods/';
$this->config = array_merge(array(
'basePath' => $basePath.$name.'/core/components/'.$name.'/',
'corePath' => $basePath.$name.'/core/components/'.$name.'/',
'modelPath' => $basePath.$name.'/core/components/'.$name.'/model/',
'processorsPath' => $basePath.$name.'/core/components/'.$name.'/processors/',
'chunksPath' => $basePath.$name.'/core/components/'.$name.'/elements/chunks/',
'jsUrl' => $basePath.$name.'/assets/components/'.$name.'/js/',
'cssUrl' => $basePath.$name.'/assets/components/'.$name.'/css/',
'assetsUrl' => $basePath.$name.'/assets/components/'.$name.'/',
'connectorUrl' => $basePath.$name.'/assets/components/'.$name.'/connector.php',
),$config);
$this->modx->addPackage($name,$this->config['modelPath']);
}
}
Далее создал сниппет в котором реализован функционал модуля, но некоторые его части (например удаление записи из таблицы) хотел реализовать через ajax. Создаю файл ajax.php (где_угодно) к которому посылаю POST запрос (который приходит), но при обработке и попытке обращения к своему классу происходит вот такая вещь:
[2014-02-02 22:50:26] (ERROR @ Z:\home\modx\www\mods\managers\core\components\managers\model\managers\managers.class.php: 5)
Recoverable error: Argument 2 passed to Managers::__construct() must be an array, null given, called in Z:\home\modx\www\core\xpdo\xpdo.class.php on line 1219 and defined [2014-02-02 22:50:26] (ERROR @ Z:\home\modx\www\mods\managers\core\components\managers\model\managers\managers.class.php: 22)
PHP warning: array_merge() [function.array-merge]: Argument #2 is not an array [2014-02-02 22:50:26] (ERROR @ /mods/managers/ajax.php)
Invalid path specified for package: managers; using default xpdo model path: Z:/home/modx/www/core/xpdo/om/ [2014-02-02 22:50:26] (WARN @ /mods/managers/ajax.php)
Could not load package metadata for package managers. [2014-02-02 22:50:26] (ERROR @ /mods/managers/ajax.php)
Could not load class: managersrecords from mysql.managersrecords. [2014-02-02 22:50:26] (ERROR @ /mods/managers/ajax.php)
managersrecords::load() is not a valid static method.
Fatal error: Call to a member function toArray() on a non-object in Z:\home\modx\www\mods\managers\ajax.php on line 22
при этом вот этот код:
$user = $modx->getObject('modUser',$uid);
выполняется на ура (следовательно modX подключился, насколько я понимаю).
Код ajax.php
// Подключаемся
define('MODX_API_MODE', true);
require_once dirname(dirname(dirname(__FILE__))).'/index.php';
// Включаем обработку ошибок
$modx->getService('error','error.modError');
$modx->setLogLevel(modX::LOG_LEVEL_INFO);
$modx->setLogTarget(XPDO_CLI_MODE ? 'ECHO' : 'HTML');
$managers = $modx->getService('managers','Managers',dirname(__FILE__).'/core/components/managers/model/managers/',$scriptProperties);
$obj = $modx->getObject('managersrecords', array('id:=' => 1));
$obj = $obj->toArray();
Подскажите, пожалуйста, в каком направлении мне стоит копать (хочу подключить таки свой класс)?