Должны быть какие-то ошибки В том-то и дело, что все молча делает. Вроде, сохраняет, а перезагрузишь - старая информация опять. И в журнале ошибок пусто. getdata-процессор по товарам отрабатывает нормально, данные каталога выводятся нормально, а админку при сохранении почему-то клинит. Я и по базе уже смотрел - вроде, все нормально. Мистика какая-то. За скрипт спасибо, попробую его.

Думаю, Алексей мог бы большой вклад в его копилку сделать.

Здорово! Я думаю, многим интересна эта тема, а документацию приходится по крохам собирать.

Саша, привет! 1. Не может быть, чтобы просто не сохранялось и все. Должны быть какие-то ошибки. Для выполнения процессоров в тесте советую вот этот скрипт использовать. 2. Давно уже не делал подобного, но на сколько мне память не изменяет, делать это надо так: foreach($docs as $doc){ $doc->class_key = 'ShopmodxResourceProduct'; $doc->save(); $data = $doc->toArray(); $data = array_merge($data, array( "sm_price" => $price, "sm_currency" => $currency, )); $response = $modx->runProcessor('resource/update',$data); if($response->isError()){ print_r($response->getResponse()); return; } } Дело в том, что когда процессор на обновление выполняется, он ведь все равно первоначально берет данные из БД, и соответственно получает инстанс объекта на основе класса class_key. Если не сохранить перед апдейтом с новым классом, то тогда не будет объекта ShopmodxProductObject. А вот есть уже он, тогда процессор на апдейт будет не родной MODX-овый, а расширенный магазина, и ShopmodxProduct к нему должен будет добавиться автоматически.

Изначально я переносил данные скриптом: $res=$category->getMany('Goods'); //получаем товары категории

foreach($res as $r){

$options=[

    'class_key'=>'ShopmodxResourceProduct',

    'parent'=>$category_id,

    'pagetitle'=>$r->get('name'),

    'published'=>1,

    'template'=>3,

    'content'=>$r->get('content'),

    'sm_currency'=>79,

    'sm_price'=>$r->get('price'),

    'tv7'=>$r->get('image'),

];

$modx->runProcessor('resource/create', $options);

} Закралось подозрение, проверил - товары не сохраняются. Категории и другие документы работают нормально. Отобрадение в фронтенде тоже работает как надо. В чем может быть проблема и можно ли это исправить без переимпорта?

Предлагаю создать отдельный болог по MIGX

Не стоит. Мы не в 16-ом веке :)

Спасибо. Большая честь поучиться у грамотного человека. Завтра буду разбирать как настроить процессор.

Не факт. Все зависит от задачи. К примеру, если задача четко локальная, и точно известно что только с такими классами надо выполнить данную функцию, то с классом получится предпочтительней. Предпочтительней в том плане, что где бы вы ни выполнили инициализацию объекта $modx->getObject() или $som_object->getOne('MyClass'), у вас всегда будет выполнен этот метод и будут получены данные. А вот если задача именно в данном месте получить сопутствующие данные, то процессор может оказаться предпочтительнее, так как в таком случае вы не завязаны на конкретном классе, и даже если там будут данные другого касса, то процессор все равно их получит. Резюме: все зависит от задачи.