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');
I think I fixed the issue by updating Magento to 1.8.0.1 and editing
app/code/core/Mage/Catalog/Block/Navigation.php line 254
from
$childrenCount = $children->count();
to
$childrenCount = count($children);
I can access the main page without any error message now!
Best Answer
In Magento 2, don't try to use
Mage::getModel
orMage::helper
. They are Magento 1 ways. In your case, you can follow this guide to get thumbnail image on order view page.