Это правильный способ вызвать помощника, но ваша ошибка говорит о том, что вы неправильно настроили свой модуль. Я предполагаю, что ваш модуль существует в app/code/local/Test/Helperclass
, и что вы включили его в файл app/etc/modules/Test_Helperclass.xml
.
Когда вы звоните на фабрики Magento, такие как Mage::getModel()
, Mage::getSingleton()
или Mage::helper()
, вы не предоставляете полное имя класса, а ссылку на класс, который хотите создать.
Это имеет формат modulename/classname
.
В нашем случае имя модуля - helperclass
(не обязательно указывать какое-либо отношение к фактическому имени модуля, оно также может быть foobar
), и наш имя класса data
. Итак, мы, по сути, называем Mage::helper('helperclass/data')
, но Magento позволяет нам сократить это до Mage::helper('helperclass')
.
Нам нужно сообщить Магенто правило расширения helperclass/data -> Test_Helperclass_Helper_Data
. Мы делаем это в файле конфигурации модуля на app/code/local/Test/Helperclass/etc/config.xml
:
<?xml version="1.0"?>
<config>
...
<global>
<helpers>
<!-- Here is where we define the mapping rule -->
<helperclass>
<class>Test_Helperclass_Helper</class>
</helperclass>
</helpers>
</global>
...
</config>