致命错误:Class' Mage_Softprodigy_Multipleaddtocart_Helper_Data'在第547行的/html/app/Mage.php中找不到

时间:2015-12-09 17:42:07

标签: xml magento-1.9

一些背景知识 - 在我们从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具有适当的权限和来自供应商的未经编辑的原始代码。

登录Magento管理面板

系统>构造

我们在左侧导航栏中看到了带有Multicart产品标签的Softprodigy标签。

系统>配置>高级>高级

Sanity Check显示包含此Multipleaddtocart扩展名。启用/禁用似乎对全局和粒度范围都有效。

1 个答案:

答案 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>