Magento : Fatal error: Class 'Mage_Giftcards_Helper_Data' not found in …/app/Mage.php on line 546

This is common when referencing a missing helper. In many cases the class name itself is malformed or your shortname referencing it is incorrect, which is why Magento is looking for it in the path Mage_Giftcards_Helper_Data (see example 1 below). For the following examples I have set up a module called MyCompany_MyModule.

These are just a few of the many ways you can go awry with defining helpers:


Incorrect helper class alias:

I reference my helper as:

$helper = Mage::helper('mycompany');

I get the error:

Fatal error: Class 'Mage_Mycompany_Helper_Data' not found

What went wrong?

My helper class alias is defined as mymodule:

<helpers>
    <mymodule>
        <class>MyCompany_MyModule_Helper</class>
    </mymodule>
</helpers>

Changing my shortcode to Mage::helper('mymodule') produced the desired result.


Malformed class name

I reference my helper (correctly this time):

$helper = Mage::helper('mymodule');

I receive:

Fatal error: Class 'MyCompany_MyModule_Helper_Data' not found

What went wrong?

My class definition was missing "_Data":

class MyCompany_MyModule_Helper extends Mage_Core_Helper_Abstract
{


}

Helper/Custom:

This is similar to what happens when you try to refer to a helper class within a file not named "Data.php".

I reference my helper as:

$helper = Mage::helper('custom');

My module helper path was defined as:

<helpers>
    <mymodule>
        <class>MyCompany_MyModule_Helper</class>
    </mymodule>
</helpers>

I have a class file in app/code/local/MyCompany/MyModule/Helper/Custom.php

I get the error:

Fatal error: Class 'Mage_Custom_Helper_Data' not found

What went wrong?

You need to specify other helper classes in a particular module as sub-paths to your module helper's shortname. This is similar to how blocks and models work - but at the topmost level there is no subfolder.

I fix this error by referencing my Custom.php helper class file as such:

$helper = Mage::helper('mymodule/custom');

This only happen when you install extension with enable compiler Here is what you have to do

1 Step app/etc/module/your module which you installed recently disable module

2 Step Login to admin /system/tools compiler disable compiler Upload code again it will work fine then you can compile your code again

good luck