2010-07-28 38 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