【问题标题】:Magento Fatal error: Class 'Mage_Wsalogger_Helper_Data' not found in ... /app/Mage.php on line 546Magento 致命错误:在第 546 行的 ... /app/Mage.php 中找不到类“Mage_Wsalogger_Helper_Data”
【发布时间】:2014-08-06 14:59:25
【问题描述】:

我们使用的是 webshopapps/wsalogger 扩展程序。它运作良好。突然,它在结帐页面上出现问题,并给出如下错误:

Fatal error: Class 'Mage_Wsalogger_Helper_Data' not found in /var/data/www/example.com/app/Mage.php on line 546

我禁用了来自 etc 模块的扩展,但它仍然显示错误。是否有任何流程可以让我在结帐页面跳过此错误?

【问题讨论】:

  • app/code/<community> | <local> /Webshopapps/Wsalogger/etc/cofig.xml中显示代码
  • 非常感谢。这是 config.xml:pastebin.com/we8qwaHW

标签: php magento zend-framework


【解决方案1】:

Magento 正在寻找您的扩展程序的助手类,但找不到。这就是它抱怨的原因。

因此解决方案是添加该帮助程序类。因此,使用以下内容创建这个帮助程序类。

文件位置:app/code/<community> | <local> /Webshopapps/Wsalogger/Helper/Data.php

<?php
class Webshopapps_Wsalogger_Helper_Data extends Mage_Core_Helper_Abstract {
}

这将解决这个问题

注意:我不知道您的扩展程序驻留在哪个代码池中。它可能在communitylocal 中。因此,请在这两个位置检查您的扩展程序并添加此帮助程序

编辑

从您的评论中,我了解到您在扩展程序中定义了您的帮助程序类。那么我知道这个问题持续存在的唯一一个原因是 错误的帮助类调用在您的扩展程序内部或 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

【讨论】:

  • Data.php 已经在文件位置 app/code/community/Webshopapps/Wsalogger/Helper/Data.php 像 pastebin.com/TrK7Pm3F 这样的助手类已经存在.. 现在怎么办。
  • 这意味着在您的扩展程序中的某个地方,您正在调用您的助手,例如Mage::Helper('some_value'),并且您在其中指定了错误的关键字。
【解决方案2】:

如果与 Wsalogger 名称相关的扩展不可用,那么您的代码中应该有某处 类有代码

Mage::helper('wsalogger')

如果 Wsalogger 名称相关的扩展名是 config.xml 中的exits then it help helper class is not called

<global>
  <helpers>
<class>ThismoduleNameSpace_Wsalogger_Helper_Data</class>
  </helpers>

</global>

Data.php 的代码(module codePool&gt;ThismoduleNameSpace&gt;Wsalogger&gt;Helper) 是

<?php
class ThismoduleNameSpace_Wsalogger_Helper_Data extends Mage_Core_Helper_Abstract {
}

【讨论】:

    【解决方案3】:

    不启用编译,直接点击“运行编译”。这解决了我的问题。

    如果您已经在编译中点击了“启用”并且无法访问您的管理面板,请进入命令模式并禁用编译过程。然后,您应该能够访问您的管理面板。一旦您可以访问您的管理面板,请按照上述步骤操作。

    【讨论】:

      猜你喜欢
      • 2013-11-04
      • 2015-01-14
      • 1970-01-01
      • 1970-01-01
      • 2014-12-28
      • 1970-01-01
      • 2016-01-02
      • 2016-06-01
      • 1970-01-01
      相关资源
      最近更新 更多