我们使用的是webshopapps / wsalogger扩展程序。它运作良好。突然它在结账页面上出现了问题,并且出现了如下错误:
Fatal error: Class 'Mage_Wsalogger_Helper_Data' not found in /var/data/www/example.com/app/Mage.php on line 546
我从etc模块禁用了扩展,但它仍然显示错误。是否有任何流程可以在结帐页面上跳过此错误?
答案 0 :(得分:3)
Magento正在寻找你的分机帮助班,但却无法找到。这就是它抱怨的原因。
所以解决方案是添加辅助类。因此,请使用以下内容创建此助手类。
档案位置:app/code/<community> | <local> /Webshopapps/Wsalogger/Helper/Data.php
<?php
class Webshopapps_Wsalogger_Helper_Data extends Mage_Core_Helper_Abstract {
}
这将解决此问题
注意:我不知道您的扩展程序所在的代码池。它可能位于community
或local
中。请在这两个位置查看您的扩展程序并添加此帮助程序
根据您的评论,我了解您在扩展程序中定义了帮助程序类。那么我知道持续存在这个问题的唯一原因就是在你的扩展程序内或Magento内某处某个错误的帮助类调用。
为了调试,您可以使用以下信息。
Helper类在扩展的配置文件中定义。在configuratin文件中,您可以看到代码有点像这样。
#FILE LOCATION : app/code/community/Webshopapps/Wsalogger/etc/config.xml
<config>
....
<global>
<helpers>
<unique_reference_for_this_helper>
<class>Webshopapps_Wsalogger_Helper</class>
</unique_reference_for_this_helper>
</helpers>
</global>
</config>
所以我们在这里声明一个唯一引用你的帮助类以及帮助器类声明。使用的关键字是unique_reference_for_this_helper
。这意味着它代表助手类的别名。现在它将允许我们像这样调用这个辅助类。
Mage::Helper('unique_reference_for_this_helper');
在您的情况下,您的助手通话可能会出错。但请不要这样,请仔细检查帮助程序类定义。它应该像我上面描述的那样。这是您的班级名称应为Webshopapps_Wsalogger_Helper_Data
,并且应该扩展Mage_Core_Helper_Abstract
。
答案 1 :(得分:2)
如果Wsalogger名称相关的扩展名不可用,那么代码中应该存在某个地方 class有代码
Mage::helper('wsalogger')
如果在config.xml
中Wsalogger名称相关扩展名为exits then it help helper class is not called
<global>
<helpers>
<class>ThismoduleNameSpace_Wsalogger_Helper_Data</class>
</helpers>
</global>
Data.php的代码(module codePool>ThismoduleNameSpace>Wsalogger>Helper
)是
<?php
class ThismoduleNameSpace_Wsalogger_Helper_Data extends Mage_Core_Helper_Abstract {
}
答案 2 :(得分:0)
不是启用编译,而是直接单击“运行编译”。这解决了我的问题。
如果您已在编译中单击“启用”并且无法访问管理面板,则转到命令模式并禁用编译过程。然后,您应该可以访问管理面板。一旦您可以访问管理面板,请按照上述步骤操作。