Magento Fatal error: Class 'Mage_Wsalogger_Hel

2019-09-10 12:57发布

问题:

We were using webshopapps/wsalogger extension. It was working well. Suddenly it is doing problem on checkout page and it is giving error like:

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

I disabled extension from etc module but it is still showing error. Is there any process so that I can skip this error on checkout page?

回答1:

Magento looking for your extension's helper class and it couldn't find one. That is why it complains.

So the solution would be add that helper class. So create this helper class with following content.

File location : app/code/<community> | <local> /Webshopapps/Wsalogger/Helper/Data.php

<?php
class Webshopapps_Wsalogger_Helper_Data extends Mage_Core_Helper_Abstract {
}

That will resolve this issue

NOTE: I don't know in which codepool your extension resides. It may be in community or in local. So check in these two locations for your extension and add this helper

EDIT

From your comment, I understood that you have your helper class defined in your extension. Then the only one reason that I know for the persisting of this issue would be a wrong helper class calling somewhere inside your extension or somewhere inside Magento.

In order to debugg you can use the following information.

Helper Definition

Helper class defines in configuration file of your extension. In your configuratin file, you can see a code somewhat look like this.

#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>

So here we are declaring a unique refernce to your helper class along with the helper class declaration. The keyword used is unique_reference_for_this_helper. This means it stands as an alias for your helper class. Now it will allow us to call this helper class like this.

    Mage::Helper('unique_reference_for_this_helper');

Reason May be

In your case, there may be a wrong call to your call made for your helper. But rather than that, please double check the helper class definition. It should look like as I described above. That is your class name should be Webshopapps_Wsalogger_Helper_Data and it should extend Mage_Core_Helper_Abstract.



回答2:

if Wsalogger name related extension not avalible then there should be somewhere in your code class has the code

Mage::helper('wsalogger')

If Wsalogger name related extension is exits then it help helper class is not called in config.xml

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

</global>

Data.php's code(module codePool>ThismoduleNameSpace>Wsalogger>Helper) is

<?php
class ThismoduleNameSpace_Wsalogger_Helper_Data extends Mage_Core_Helper_Abstract {
}


回答3:

Instead of enabling compilation, click on "run compilation" directly. This solved the problem for me.

If you have already have clicked on "enable" in compilation and are not able to access your admin panel, then go to command mode and disable compilation process. You should then be able to access your admin panel. Follow the above steps once you can access your admin panel.