Я хочу вызвать в смарти свой процессор, чтобы дергать данные из своих таблиц не через package + newQuery. Был поставлен modExtra, переименован, написаны схемы баз, созданы классы — поднята CMP, которая дергает классы из процессора через контроллер, ну все как обычно в общем. Далее я создаю в процессорах папку web, копирую туда обычный наследующий modObjectGetListProcessor процессор
class ComponentWebClassGetListProcessor extends modObjectGetListProcessor {
public $objectType = 'ClassName';
public $classKey = 'ClassName';
public $defaultSortField = 'id';
public $defaultSortDirection = 'DESC';
//public $permission = 'list';
return 'ComponentWebClassGetListProcessor';
Теперь вызываю это дело в консоли вот это
// $modx->addPackage('component', MODX_BASE_PATH.'Component/core/components/component/model/');
// $d= $modx->getObject('ClassName',1);
// print_r($d->toArray());
print '<pre>';
ini_set('display_errors', 1);
$modx->switchContext('web');
$action = 'web/rooms/getlist';
$ns = 'myNamespace';
$params = array(
// "limit" => 6,
);
//echo $modx->getObject('modNamespace', $ns)->getCorePath();
if(!$response = $modx->runProcessor($action,
$params
,
array(
'processors_path' => $modx->getObject('modNamespace', $ns)->getCorePath().'processors/',
)
)){
print "Не удалось выполнить процессор";
return;
}
print_r($response->getResponse());
На выходе Could not get table class for class и {«success»:true,«total»:«0»,«results»:[]}
Схожая картина во фронте, когда вставляю в шаблон {processor}
Расскомментирую $modx->addPackage('component', MODX_BASE_PATH.'Component/core/components/component/model/'); — все начинает работать.
Собственно, вопрос что прописать в процессоре, чтобы не нужно писать можно было не вызывать addPackage
extension_packages в консоли спасает — во фронте не хочет.