Не работает свой процессор
        Добрый день.
Помогите с вопросом.
У меня есть форма AjaxForm, которая обрабатывается своим сниппетом, в котором в свою очередь вызывается свой процессор для добавления данных в БД.
Данные в сниппет приходят, но вот с процессора уже ничего не идет и идет 500 ошибка action.php компонента AjaxForm.
Вот код сниппета:
    
    
                                                                                
            Помогите с вопросом.
У меня есть форма AjaxForm, которая обрабатывается своим сниппетом, в котором в свою очередь вызывается свой процессор для добавления данных в БД.
Данные в сниппет приходят, но вот с процессора уже ничего не идет и идет 500 ошибка action.php компонента AjaxForm.
Вот код сниппета:
if (!empty($_POST['name'])) {
	$processor = 'web/create';
	$processorProps = array('processors_path' => $modx->getOption('core_path')
		. 'components/myc/processors/');
	$response = $modx->runProcessor($processor, $_POST, $processorProps);
	return $AjaxForm->success('Форма прошла проверку');
}Вот код процессора<?php
class MyCompCreateProcessor extends modObjectCreateProcessor
{
    public $objectType = 'MyComp';
    public $classKey = 'MyComp';
    public $languageTopics = array('myc');
    /**
     * @return bool
     */
    public function beforeSet()
    {
        $name = trim($this->getProperty('name'));
        if (empty($name)) {
            $this->modx->error->addField('name', $this->modx->lexicon('myc_err_name'));
        } elseif ($this->modx->getCount($this->classKey, array('name' => $name))) {
            $this->modx->error->addField('name', $this->modx->lexicon('myc_err_ae'));
        }
        return parent::beforeSet();
    }
}
return 'MyCompCreateProcessor';    Комментарии: 5
                Па-ма-ги-те)) Может я неправильно вызываю процессор?            
                    
                А где текст 500 ошибки?            
                    
                Вот ошибка
                    Fatal error: Uncaught Error: Call to a member function fromArray() on null in /public_html/core/model/modx/modprocessor.class.php:630
Stack trace:
#0 /public_html/core/model/modx/modprocessor.class.php(173): modObjectCreateProcessor->process()
#1 /public_html/core/model/modx/modx.class.php(1704): modProcessor->run()
#2 /public_html/core/cache/includes/elements/modsnippet/56.include.cache.php(9): modX->runProcessor('web/create', Array, Array)
#3 /public_html/core/model/modx/modscript.class.php(70): include('/home/s/sopteh/...')
#4 /public_html/core/components/ajaxform/model/ajaxform/ajaxform.class.php(130): modScript->process()
#5 /public_html/assets/components/ajaxform/action.php(30): AjaxForm->process('d2b1a010d31da7a...', Array)
#6 {main}
thrown in /public_html/core/model/modx/modprocessor.class.php on line 630
                Из-за того, что не загружена модель, стандартная операция 
Необходимо подгрузить модель через $modx->getService() или $modx->addPackage() до вызова процессора.
                    $this-->object = $this->modx->newObject($$this->classKey);в процессоре modObjectCreateProcessor не создает объект. Необходимо подгрузить модель через $modx->getService() или $modx->addPackage() до вызова процессора.
                Михаил, спасибо большое. Инициализировал класс с помощью $modx->getService() и все стало работать как положено.            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.