Не подгружаются классы таблиц

Добрый день. В самом начале создания компонента возникла проблема. Есть ExtJs-файл, с помощью которого выводится таблица(Grid). Указано свойство «action» на нужный процессор. Процессор лишь наследует свойства и методы класса «modObjectGetListProcessor». Внутри процессора прописал лишь только "$classKey" с названием класса для нужной мне таблице.
class DashbeeItemGetListProcessor extends modObjectGetListProcessor {
   public $classKey = 'dbCountry';
}
return 'DashbeeItemGetListProcessor';
В итоге сервер возвращает пустой ответ.
results: [] 
total: "0"
Из компонента «консоль» F1losof'a с помощью xPDO без проблем достаю данные из таблицы. А вот выходит процессор ничего не возвращает. Пробовал подключать основные классы с помощью «require_once» — безрезультатно.
По сути нужно, чтобы процессор мог использовать классы таблиц в папке «model/[componentName]/». Но ведь если все пути прописаны в конфиге, всё «стандартно» должно быть подключено.
Может быть есть какие-то идеи, в чём может быть проблема?
Гавриченко Антон
06 августа 2013, 12:03
modx.pro
1 198
0

Комментарии: 3

Василий Наумкин
06 августа 2013, 23:51
0
А к процессору ты обращаешься через коннектор, который загружает основной класс компонента, вместе с моделью?

Или просто, напрямую? В любом случае, советую изучить bezumkin.ru/sections/components/252/
    Гавриченко Антон
    07 августа 2013, 00:46
    0
    Да, к процессору обращаюсь через коннектор. В качестве параметра url прописываю url: Dashbee.config.connector_url.
    Проверял, возвращается верное значение пути к коннектору. Изначально использовал заготовку modExtra, переименовывал только вручную(ошибок быть не должно, ибо всё тщательно перепроверял). То есть коннектор такой же как и в изначальном modExtra.
    А как обращаться напрямую? В параметре url нужно просто прописывать адрес к конкретному процессору?
    И нужно ли что-то дописывать в коннектор(например адрес некоего процессора), если мне нужно обратиться к некоторому процессору? По логике раз подключается основной класс компонента, в котором прописана вся конфигурация — не нужно.
    За ссылку спасибо, не находил её ранее.
    Попробую начать всё сначала, проверив изначально работу modExtra, чтобы далее действовать от работающего компонента. Спасибо за отклик.
    Гавриченко Антон
    08 августа 2013, 00:24
    0
    Ошибку выявил: в генерации классов таблиц в xml-схеме для каждого объекта прописал названия таблиц без префикса названия компонента. Пример названия таблицы в БД: modx_mycomponentname_items. В xml-схеме написал: table=«items». Нужно: table=«mycomponentname_items». В итоге в сгенерированных файлах-классах в качестве таблиц использовались значения без префикса названия компонета, который присутствует в БД.
    С помощью компонента «Консоль» мог доставать данные из БД по причине использования функции addPackage
    $modx->addPackage('mycomponentname', $modx->getOption('core_path').'components/mycomponentname/model/','modx_mycomponentname_');
    Здесь третий параметр явно указывает префикс таблиц.
    Вопрос закрыт.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      3