同じ問題に遭遇し、ここで回答を見つけようとしていた人々のために。
問題が見つかりました。
まず、製品をどのように削除していますか?
製品の編集ページから製品を削除する場合、オブザーバーが機能しない可能性があります。
Product Gridページから製品を削除する場合、オブザーバは正常に動作します。 catalog_controller_product_delete、唯一productController()にmassDeleteAction()に派遣します:
問題は、イベントがあることです。
およびdeleteAction()。
私はすでにmagentocommerce.com/bug-trackingにバグとしてこの問題を提出しています。この問題を解決するには
、このペースト:あなたのdeleteActionインサイド
Mage::dispatchEvent('catalog_controller_product_delete', array('product' => $product));
()、右ので、同様$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'))));
}
私はこれが必要ではありません。このソリューションは、コードを変更しなくてもうまく動作します。http://stackoverflow.com/a/14211286/515268 – Dayson
@dayson、私は他のソリューションが**より良い**とは思わない?あなたは同じことを達成しています。 Magentoの人たちは、私の[pull request](https://github.com/magento/magento2/pull/9#issuecomment-5059665)のコメントでも読んでいただけるようにバグだと認めています。 jmvaさん。コアコードを編集するのが間違っていると思われる場合は、独自のモジュールでproductControllerを拡張してそこで編集してください。 – Chris