カテゴリが削除されているときにMagentoのカスタムテーブルをクリアするには、SQLを実行する必要があります。そのことを念頭に置いて、私はここに示されている例に従っています:Magento-コアファイルのオーバーライド
これをconfig.xmlに入力しました:
<global>
<models>
<catalog>
<rewrite>
<category_api>MyCompany_MyModule_Model_Catalog_Category_Apis</category_api>
</rewrite>
</catalog>
</models>
</global>
次に、ファイル構造を作成しました。
MyCompany
-> MyModule
-> Model
->Catalog
->Category
->Api.php
Api.phpファイルには次のものがあります。
class MyCompany_MyModule_Model_Catalog_Category_Api extends Mage_Catalog_Model_Category_Api
{
public function delete($categoryId)
{
Mage::log('I have overidden deletion of: ' . $categoryId);
return true;
}
}
この設定を使用すると、system.logに何も表示されないので、何か間違ったことをしていると思います。
編集:
XMLをに変更する<category> </category>
と、エラーが発生するため、ファイルが含まれるようになります。
Fatal error: Call to a member function setStoreId() on a non-object in C:\xampp\htdocs\magento\app\code\core\Mage\Adminhtml\controllers\Catalog\CategoryController.php on line 52
クラスをオーバーライドするときに何か特別なことをする必要がありますか?