modx::runProcessor
Запускает указанный процессор.
Принимаемые параметры:
- action - Действие, которое нужно выполнить (процессор для запуска), это путь к процессору (без расширения файла);
- scriptProperties - Массив свойств, передаваемых процессору$
- options - Массив опций, передаваемых процессору.
- processors_path - если указано, будет переопределять путь процессоров MODX. По умолчанию, это
core/model/modx/processors/
. Это полезно если мы пишем свои процессоры и нам нужно указать путь до них.
- processors_path - если указано, будет переопределять путь процессоров MODX. По умолчанию, это
Примеры:
1. Запуск стандартного процессора, например на создание чанка.
$response = $modx->runProcessor('element/chunk/create',array(
'name' => 'NewChunk',
'description' => 'A test Chunk made with runProcessor.',
'snippet' => '<h3>Chunkify!</h3>',
));
if ($response->isError()) {
return $response->getMessage();
}
$chunkArray = $response->getObject();
return 'The chunk "'.$chunkArray['name'].' was created with ID '.$chunkArray['id'];
2. Запуск своего процессора из компонента.
$processorProps = array(
'class_key' => 'bookingDay'
);
$response = $modx->runProcessor('getlistone', $processorProps, array('processors_path' => 'core/components/booking/processors/mgr/item/'));
print_r($response);
Как видно из этого примера, мы указали action
первым параметром - getlistone
(файл процессора называется getlistone.class.php
). А третьим параметром указали путь до директории, где лежат процессоры - core/components/booking/processors/mgr/item/
.
Методы и свойства объекта ответа процессора
- (property) $response->response. Сам ответ процессора. Если процессор унаследован от
modObjectGetListProcessor
то ответом будетjson
с данными; - (method) $response->isError();
- (method) $response->getMessage();
- (method) $response->getObject();