Для людей, которые столкнулись с той же проблемой и которые надеялись найти ответ здесь.Я нашел проблему.Прежде всего, как вы удаляете продукт?Если вы удаляете продукт со страницы редактирования продукта, скорее всего, ваш наблюдатель не будет работать.Если вы удаляете продукт изнутри страницы Product Grid, ваш обозреватель, вероятно, будет работать нормально.
Проблема в том, что событие: catalog_controller_product_delete отправляется только в massDeleteAction() в productController () .И НЕ внутри deleteAction () .
Я уже представил эту проблему как ошибку на magentocommerce.com/bug-tracking.
Чтобы это исправить, вставьте это:
Mage::dispatchEvent('catalog_controller_product_delete', array('product' => $product));
Внутри deleteAction (), прямо перед $product->delete();
Вот так:
public function deleteAction()
{
if ($id = $this->getRequest()->getParam('id')) {
$product = Mage::getModel('catalog/product')
->load($id);
$sku = $product->getSku();
try {
Mage::dispatchEvent('catalog_controller_product_delete', array('product' => $product));
$product->delete();
$this->_getSession()->addSuccess($this->__('The product has been deleted.'));
} catch (Exception $e) {
$this->_getSession()->addError($e->getMessage());
}
}
$this->getResponse()
->setRedirect($this->getUrl('*/*/', array('store'=>$this->getRequest()->getParam('store'))));
}