Запуск собственного процессора
Подскажите, как правильно вызвать свой процессор, чтобы создать ресурс с кастомным 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;
Вопрос знатокам:
Как создать кастомный ресурс через свой процессор?
Комментарии: 2
Ты не указываешь parent, поэтому, если ресурсы и создаются — ты их не увидишь в дереве.
У меня вот так работает:
В ответ получишь или массив с ошибками, или с id созданного ресурса.
У меня вот так работает:
$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 созданного ресурса.
Действительно, так сработало. Спасибо большое.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.