2010-07-28 37 views
0

我創建,它可以讓你定義在Magento的categorys一些額外的選項,這之後到tuturial上手模塊:http://www.magentocommerce.com/wiki/5_-_modules_and_development/0_-_module_development_in_magento/installing_custom_attributes_with_your_module的Magento將安裝對象

我建有ModuleCreator創建了一個框架模塊上。

我在Infoweb創建Setup.php(含首都)/邊距/型號/資源/ EAV/Mysql4/ 和它在我的類中定義:

class Infoweb_Margins_Resource_Eav_Mysql4_Setup extends Mage_Eav_Model_Entity_Setup{} 

我也加入這一行在我的config.php(其餘的已經在那裏了,因爲骨架模塊):

<class>Infoweb_Margins_Resource_Eav_Mysql4_Setup</class> 

現在,當試圖加載頁面,Magento的搜索該類但給出了一個致命的錯誤說法的類沒有被發現。 .. 錯誤: 致命錯誤:類 'Infoweb_Margins_Resource_Eav_Mysql4_Setup' 在/home/users/A000456/xxx/xxx/app/code/core/Mage/Core/Model/Resource/Setup.php沒有發現在線路160

關於問題出在哪裏的想法?

使用Magento的1.4.1.0

回答

1

Magento的抱怨,它無法找到你的類

Infoweb_Margins_Resource_Eav_Mysql4_Setup 

這其實是半好消息。 Magento知道要使用前綴Infoweb_Margins查找類的事實意味着您已正確設置了XML。

問題是你的班級名稱。 Magento的自動加載器*只知道如何處理的形式

Packagename_Modulename_Model_* 
Packagename_Modulename_Helper_* 
Packagename_Modulename_Block_* 

類被命名爲

Infoweb_Margins_Resource_* 

這Magento的不知道是做什麼用的類。

如果您放置一個名爲Setup.php文件在

Infoweb/Margins/Model/Resource/Eav/Mysql4/ 

你想在你的XML和類定義,你應該設置一個名爲

Infoweb_Margins_Model_Resource_Eav_Mysql4_Setup 

更改類

*這可能是一個半纖維,我有一段時間沒有在Magento的__自動加載器上偷看

+0

謝謝,但我還有1個問題,我該如何重新安裝模塊?我只是在導入舊數據庫後才添加屬性,然後刷新。禁用模塊沒有這樣做,我禁用了所有緩存。 – Rakward 2010-07-29 07:52:08

+0

此外,我不能讓SCOPE_STORE工作,我只能添加GLOBAL選項(在商店視圖上沒有複選框):( 我真的需要能夠設置每個商店的屬性 – Rakward 2010-07-29 08:43:30

+1

從core_resources刪除模塊(if我的memoery在數據庫中爲我服務)Magento然後將重新運行安裝邏輯。 你也可以碰撞版本號。 – 2010-07-29 10:38:54