0
當需要刪除類別時,需要運行一些SQL來清除Magento中的一些自定義表格。考慮到這一點,我一直在下面的例子中奠定了這裏:Magento - Overriding core files如何覆蓋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;
}
}
我什麼也沒有c在使用這個設置時,在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
我需要做一些特殊的重寫類時?
好吧,我想知道如果我應該這樣做。你能模擬一個使用事件的例子,或者鏈接一個好的解釋嗎? – webnoob
其實我在Magento的網站上看到一個很好的資源:http://www.magentocommerce.com/wiki/5_-_modules_and_development/0_-_module_development_in_magento/customizing_magento_using_event-observer_method – webnoob
使用事件工作的一種享受,現在我已經閱讀了它們使用它們更有意義。 – webnoob