一些背景知识 - 在我们从Magento 1.7升级到1.9之后,我们才开始注意到这个错误。升级后,我们的system.log中会出现此错误消息,但在我们尝试创建新的管理面板用户角色之前,未显示导致前端出现重大问题的迹象。
system.log将报告:
2015-12-09T16:50:28+00:00 ERR (3): Warning: include(): Failed opening 'Mage/Softprodigy/Multipleaddtocart/Helper/Data.php' for inclusion (include_path='/chroot/home/xxxx/xxxx.com/html/app/code/local:/chroot/home/xxxx/xxxx.com/html/app/code/community:/chroot/home/xxxx/xxxx.com/html/app/code/core:/chroot/home/xxxx/xxxx.com/html/lib:.:/usr/share/pear:/usr/share/php') in /chroot/home/xxxx/xxxx.com/html/lib/Varien/Autoload.php on line 93
在 app / code / local / Softprodigy / Multipleaddtocart / Helper 中,我们发现Data.php具有适当的权限和来自供应商的未经编辑的原始代码。
系统>构造
我们在左侧导航栏中看到了带有Multicart产品标签的Softprodigy标签。
系统>配置>高级>高级
Sanity Check显示包含此Multipleaddtocart扩展名。启用/禁用似乎对全局和粒度范围都有效。
答案 0 :(得分:1)
答案在于Softprodigy_Multipleaddtocart模块的XML结构。
从 app / code / local / Softprodigy / Multipleaddtocart / etc / 打开config.xml,您应该看到
<config>
<modules>
<Softprodigy_Multipleaddtocart>
<version>1.2.0</version>
</Softprodigy_Multipleaddtocart>
</modules>
<global>
<blocks>
<multipleaddtocart>
<class>Softprodigy_Multipleaddtocart_Block</class>
</multipleaddtocart>
</blocks>
<helpers>
<multipleaddtocart>
<class>Softprodigy_Multipleaddtocart_Helper</class>
</multipleaddtocart>
</helpers>
我们的错误日志显示我们有帮助问题,所以我们只关注它。
<helpers>
<multipleaddtocart>
<class>Softprodigy_Multipleaddtocart_Helper</class>
</multipleaddtocart>
</helpers>
我们需要将<multipleaddtocart>
更改为<companyName_moduleName>
命名语法(按惯例小写),以便Magento能够正确识别我们的新助手类。
我们的最后一段代码应该如下所示。
<helpers>
<softprodigy_multipleaddtocart>
<class>Softprodigy_Multipleaddtocart_Helper</class>
</softprodigy_multipleaddtocart>
</helpers>