Я использовал приведенный ниже код для программного удаления продукта из базы данных Magento, и этот код работает для меня.
$productEntityTable = Mage::getModel('importexport/import_proxy_product_resource')->getEntityTable();
if ($idToDelete) {
$this->db->query("DELETE FROM `{$productEntityTable}` WHERE `entity_id` IN (?)", $idToDelete);
echo 'Deleted';
}
Но я также хочу удалить изображения продуктов, и для этого я использовал приведенный ниже фрагмент кода
$_product = Mage::getModel('catalog/product')->load($idToDelete);
$mediaApi = Mage::getModel("catalog/product_attribute_media_api");
try {
$items = $mediaApi->items($_product->getId());
foreach($items as $item) {
echo ($mediaApi->remove($_product->getId(), $item['file']));
}
} catch (Exception $exception){
var_dump($exception);
die('Exception Thrown');
}
И я получил следующую ошибку, и я использовал много кода, но все время получал одну и ту же ошибку.
Неустранимая ошибка: вызов функции-члена getUserId() для не-объекта в /my_path/app/code/local/Mage/Catalog/Model/Product/Attribute/Backend/Media.php в строке 263