Не подгружаются классы таблиц
Добрый день. В самом начале создания компонента возникла проблема. Есть ExtJs-файл, с помощью которого выводится таблица(Grid). Указано свойство «action» на нужный процессор. Процессор лишь наследует свойства и методы класса «modObjectGetListProcessor». Внутри процессора прописал лишь только "$classKey" с названием класса для нужной мне таблице.
По сути нужно, чтобы процессор мог использовать классы таблиц в папке «model/[componentName]/». Но ведь если все пути прописаны в конфиге, всё «стандартно» должно быть подключено.
Может быть есть какие-то идеи, в чём может быть проблема?
class DashbeeItemGetListProcessor extends modObjectGetListProcessor {
public $classKey = 'dbCountry';
}
return 'DashbeeItemGetListProcessor';
В итоге сервер возвращает пустой ответ.results: []
total: "0"
Из компонента «консоль» F1losof'a с помощью xPDO без проблем достаю данные из таблицы. А вот выходит процессор ничего не возвращает. Пробовал подключать основные классы с помощью «require_once» — безрезультатно.По сути нужно, чтобы процессор мог использовать классы таблиц в папке «model/[componentName]/». Но ведь если все пути прописаны в конфиге, всё «стандартно» должно быть подключено.
Может быть есть какие-то идеи, в чём может быть проблема?
Комментарии: 3
А к процессору ты обращаешься через коннектор, который загружает основной класс компонента, вместе с моделью?
Или просто, напрямую? В любом случае, советую изучить bezumkin.ru/sections/components/252/
Или просто, напрямую? В любом случае, советую изучить bezumkin.ru/sections/components/252/
Да, к процессору обращаюсь через коннектор. В качестве параметра url прописываю url: Dashbee.config.connector_url.
Проверял, возвращается верное значение пути к коннектору. Изначально использовал заготовку modExtra, переименовывал только вручную(ошибок быть не должно, ибо всё тщательно перепроверял). То есть коннектор такой же как и в изначальном modExtra.
А как обращаться напрямую? В параметре url нужно просто прописывать адрес к конкретному процессору?
И нужно ли что-то дописывать в коннектор(например адрес некоего процессора), если мне нужно обратиться к некоторому процессору? По логике раз подключается основной класс компонента, в котором прописана вся конфигурация — не нужно.
За ссылку спасибо, не находил её ранее.
Попробую начать всё сначала, проверив изначально работу modExtra, чтобы далее действовать от работающего компонента. Спасибо за отклик.
Проверял, возвращается верное значение пути к коннектору. Изначально использовал заготовку modExtra, переименовывал только вручную(ошибок быть не должно, ибо всё тщательно перепроверял). То есть коннектор такой же как и в изначальном modExtra.
А как обращаться напрямую? В параметре url нужно просто прописывать адрес к конкретному процессору?
И нужно ли что-то дописывать в коннектор(например адрес некоего процессора), если мне нужно обратиться к некоторому процессору? По логике раз подключается основной класс компонента, в котором прописана вся конфигурация — не нужно.
За ссылку спасибо, не находил её ранее.
Попробую начать всё сначала, проверив изначально работу modExtra, чтобы далее действовать от работающего компонента. Спасибо за отклик.
Ошибку выявил: в генерации классов таблиц в xml-схеме для каждого объекта прописал названия таблиц без префикса названия компонента. Пример названия таблицы в БД: modx_mycomponentname_items. В xml-схеме написал: table=«items». Нужно: table=«mycomponentname_items». В итоге в сгенерированных файлах-классах в качестве таблиц использовались значения без префикса названия компонета, который присутствует в БД.
С помощью компонента «Консоль» мог доставать данные из БД по причине использования функции addPackage
Вопрос закрыт.
С помощью компонента «Консоль» мог доставать данные из БД по причине использования функции addPackage
$modx->addPackage('mycomponentname', $modx->getOption('core_path').'components/mycomponentname/model/','modx_mycomponentname_');
Здесь третий параметр явно указывает префикс таблиц.Вопрос закрыт.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.