Запуск собственного процессора

Подскажите, как правильно вызвать свой процессор, чтобы создать ресурс с кастомным class_key. Можно на примере Tickets или miniShop2.

Пробовал так:
$miniShop2 = $modx->getService('minishop2','miniShop2',$modx->getOption('minishop2.core_path',null,$modx->getOption('core_path').'components/minishop2/').'model/minishop2/', $scriptProperties);

// Массив, который мы передадим в процессор, там его ловить в $scriptProperties
$processorProps = array(
	'pagetitle' => 'My product'
);

// Запускаем
$response = $miniShop2->runProcessor('mgr/product/create', $processorProps);
// И возвращаем ответ от процессора
return $response->response;

и так:
// Массив, который мы передадим в процессор, там его ловить в $scriptProperties
$processorProps = array(
	'pagetitle' => 'My product'
);
// Массив опций для метода runProcessor
$otherProps = array(
    // Здесь указываем где лежат наши процессоры
    'processors_path' => $modx->getOption('core_path') . 'components/minishop2/processors/'
);
// Запускаем
$response = $modx->runProcessor('mgr/product/create', $processorProps, $otherProps);
// И возвращаем ответ от процессора
return $response->response;
и даже так:
// Массив, который мы передадим в процессор, там его ловить в $scriptProperties
$processorProps = array(
 'class_key' => 'msProduct',
 'pagetitle' => 'My product'
);
// Запускаем
$response = $modx->runProcessor('resource/create', $processorProps);
// И возвращаем ответ от процессора
return $response->response;
А вот так отрабатывает, но это и так понятно:
// Массив, который мы передадим в процессор, там его ловить в $scriptProperties
$processorProps = array(
 'pagetitle' => 'My product'
);
// Запускаем
$response = $modx->runProcessor('resource/create', $processorProps);
// И возвращаем ответ от процессора
return $response->response;

Вопрос знатокам:
Как создать кастомный ресурс через свой процессор?
Denys Butenko
30 марта 2013, 17:38
modx.pro
1
1 839
0

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

Василий Наумкин
31 марта 2013, 06:26
1
0
Ты не указываешь parent, поэтому, если ресурсы и создаются — ты их не увидишь в дереве.

У меня вот так работает:
$processorProps = array(
	'class_key' => 'msProduct'
	,'pagetitle' => 'My product'
	,'parent' => 2
);
$response = $modx->runProcessor('resource/create', $processorProps);
return $response->isError() ? print_r($response->getAllErrors(), 1) : print_r($response->response,1);

В ответ получишь или массив с ошибками, или с id созданного ресурса.
    Denys Butenko
    31 марта 2013, 15:39
    0
    Действительно, так сработало. Спасибо большое.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2