1. web/catalog/category/products/getdata — это про

  1. web/catalog/category/products/getdata — это процессор, который ищет товары в текущей и во всех вложенных категориях. Там надо указывать category_id (в которой будут искаться товары), а не parent, так как при указании parent он должен бы найти товары с разделом-родителем id 85. У этого раздела просто нет дочерних документов вне дочерних категорий.

  2. Выводите ошибки, то есть просто делайте в шаблоне так:

<pre>
{print_r($result)}
</pre>

$result — это если у вас в процессоре assign=result. Если набивается в другую переменную, само собой надо указывать другую переменную. А лучше всего это делать в консоли. Там вы сразу увидите ошибки.

<?php
$modx->startTime = $modx->getMicroTime();
 
print '<pre>';
ini_set('display_errors', 1);
$modx->switchContext('web');
$modx->setLogLevel(3);
$modx->setLogTarget('HTML');
$namespace = 'modxsite';
if(!$response = $modx->runProcessor('web/catalog/category/products/getdata',
array(), array(
'processors_path' => $modx->getObject('modNamespace', $namespace)->getCorePath().'processors/',
))){
print "Не удалось выполнить процессор";
return;
}
$memory = round(memory_get_usage(true)/1024/1024, 4).' Mb';
print "<div>Memory: {$memory}</div>";
$totalTime= ($modx->getMicroTime() - $modx->startTime);
$queryTime= $modx->queryTime;
$queryTime= sprintf("%2.4f s", $queryTime);
$queries= isset ($modx->executedQueries) ? $modx->executedQueries : 0;
$totalTime= sprintf("%2.4f s", $totalTime);
$phpTime= $totalTime - $queryTime;
$phpTime= sprintf("%2.4f s", $phpTime);
print "<div>TotalTime: {$totalTime}</div>";
 
print_r($response->getResponse());

А ошибка следующая:

Array
(
    [success] =>; 
    [message] => Не была указана категория
    [total] => 0
    [errors] => Array
        (
        )

    [object] => Array
        (
        )

)
  1. «level» => 2 Такого параметра в процессоре нет.