Удалить все фото товара через API

Всем привет.
Простой вопрос поставил в тупик — как удалить через API все фото товара?
Я так понимаю такой процессор нужно запускать, но как туда переждать ID фоток зная ID товара?
$response = $modx->runProcessor('components/minishop2/processors/mgr/gallery/multiple',array(
		'method' => 'remove',
		'ids' => '1291,1292',
	));
Андрей
13 июня 2019, 11:38
modx.pro
122
0

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

Андрей
13 июня 2019, 12:01
0
Вот такой код, но почему-то не работает(
на примере одного товара
<?php
$images = $modx->getCollection('msProductFile', array('type' => 'image', 'product_id' => 306, 'parent' => 0));
$ids = array();
foreach ($images as $image) {
    $ids[] = $image->get('id');
    }
$response = $modx->runProcessor('gallery/multiple',
	array(
		'method' => 'remove',
		'ids' =>$ids,
	),
	array('processors_path' => MODX_CORE_PATH.'components/minishop2/processors/mgr/')
);
if ($response->isError()) {
	$modx->log(modX::LOG_LEVEL_ERROR, "Error \"$v\": \n". print_r($response->getAllErrors(), 1));
}
else {
	$modx->log(modX::LOG_LEVEL_INFO, "Successful  \"$v\": \n". print_r($response->getObject(), 1));
}
	
print_r($response->response);
    Андрей
    13 июня 2019, 12:10
    0
    Проблема была в том, что $ids нужно отдавать процессору в JSON
    Вот так работает, оставлю тут, может кому-то еще пригодится
    <?php
    $images = $modx->getCollection('msProductFile', array('type' => 'image', 'parent' => 0));
    $ids = array();
    foreach ($images as $image) {
        $ids[] = $image->get('id');
        }
    $response = $modx->runProcessor('gallery/multiple',
    	array(
    		'method' => 'remove',
    		'ids' => json_encode($ids),
    	),
    	array('processors_path' => MODX_CORE_PATH.'components/minishop2/processors/mgr/')
    );
    if ($response->isError()) {
    	$modx->log(modX::LOG_LEVEL_ERROR, "Error \"$v\": \n". print_r($response->getAllErrors(), 1));
    }
    else {
    	$modx->log(modX::LOG_LEVEL_INFO, "Successful  \"$v\": \n". print_r($response->getObject(), 1));
    }
    	
    print_r($response->response);
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      2