Потребовалось сделать выборку категорий из отдельной таблица, и было собрался я городить очередной процессор и чтобы не усложнять начал переопредилять метод process не чего не возвращая запустил для теста не упало что нибудь и что я вижу? мне вернула строчку следующего содержимого "modCategorySearhProcessor" и тут я вспомнил что где то в недрах modx видел при вызове процессора проверку на существование класса в противном случаи выполнять через requre.
вот содержимое процессора
$modx->addPackage('castumcategory',MODX_CORE_PATH.'components/castumcategory/model/');
$q = $modx->newQuery('modCastumCategoryName');
$q->select(array(
'modCastumCategoryName.*'
));
if ($scriptProperties['group']) {
$q->where(array(
"group" => $scriptProperties['group']
));
};
$q->sortby($scriptProperties['sort'],$scriptProperties['dir']);
//$q->limit(100,0);
$q->prepare();
$q->stmt->execute();
return $q->stmt->fetchAll(PDO::FETCH_ASSOC);
Металл
{processor action="web/search" params=['group'=>1,'sort'=>'name','dir'=>'ASC'] ns="qcore" assign=result}
{foreach from=$result item=val}
{$val.name}
{/foreach}
считаю это реально круто, так как не всегда требуется вся мощь процессоров а нужно получить простенький массив. Это тоже самое что снипеты произвольный код только возвращается не echo а return