Как удалить изображения продукта в Magento после программного удаления продукта?

Я использовал приведенный ниже код для программного удаления продукта из базы данных 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


person Ritesh Paliwal    schedule 26.12.2016    source источник


Ответы (2)


Может ли он запрашивать текущего пользователя.

установите текущего пользователя как администратора для этого добавьте строку ниже верхней части кода

Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
person Murtuza Zabuawala    schedule 26.12.2016
comment
Я уже прошел магазин и веб-сайт, который я пробовал с вышеуказанным решением, но все равно получаю ту же ошибку. Я хочу знать, что если мы удаляем продукт с помощью Mage API, он автоматически удаляет изображения продукта или нет ...? - person Ritesh Paliwal; 26.12.2016

person    schedule
comment
Получил эту ошибку: - Неустранимая ошибка: необработанное исключение «Исключение» с сообщением «Строгое уведомление: декларация Phxsolution_Manufactures_Helper_Profit_Data::getPrice() должна быть совместима с Mage_Tax_Helper_Data::getPrice($product, $price, $includeTax = NULL, $shippingAddress = NULL, $billingAddress = NULL, $ctc = NULL, $store = NULL, $priceIncludesTax = NULL, $roundPrice = true) в /my_path/app/code/community/Phxsolution/Manufactures/Helper/Profit/Data.php онлайн 29' в /my_path/app/code/core/Mage/Core/functions.php:245 - person Ritesh Paliwal; 26.12.2016
comment
У меня есть собственный файл контроллера, и я запускаю его через браузер, потому что мне нужно программно удалить продукт для веб-сервисов. Надеюсь, вы меня поймете. - person Ritesh Paliwal; 26.12.2016
comment
в /my_path/app/code/community/Phxsolution/Manufactures/Helper/‌​Profit/Data.php в строке 29 функция getPrice() имеет некоторую отладку проблемы, откуда она вызывается в этом контроллере - person faizanbeg; 26.12.2016