Использование процессоров minishop2

Подскажите пожалуйста, почему не работает такой код?

$res = $modx->newObject('msCategory');
$catdef = array(
    ,'pagetitle' => 'Категория'
    ,'parent' => 0
);                    
$catdef = array_merge($res->toArray(), $catdef);

$response = $modx->runProcessor(
    'mgr/category/create.class'
    ,$catdef
    ,array('processors_path' => MODX_CORE_PATH.'components/minishop2/processors/')
);

Так работает:
$response = $modx->runProcessor('resource/create', $catdef);

Но наверное правильнее будет создавать через процессоры minishop2?
Витя Семенцов
14 апреля 2013, 08:03
modx.pro
1 543
0

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

Василий Наумкин
14 апреля 2013, 14:07
0
Ты плохо понимаешь, что делаешь. Ресурсы MS2 — это CRC и создаются они родными процессорами MODX, которые самостоятельно подключают нужные минишоповые методы.

В общем, тебе не надо ничего изобретать, создавай как обычные ресурсы, только указывай class_key.

<?php
$response = $modx->runProcessor('resource/create', array(
	'class_key' => 'msCategory'
	,'pagetitle' => 'Категория'
	,'parent' => 0
));
if ($response->isError()) {
	print_r($response->getAllErrors());
}
else {
	print_r($response->response);
}
exit();

Этот код вернет или id созданного ресурса, или скажет, почему не смог его создать.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
2