如何在模块中调用另一个模块的帮助器?
当我尝试
时法师::助手( '助手类') - > getValueClass( '',$ id)的
它给了我错误:
致命错误:第516行的C:\ wamp \ www \ example \ app \ Mage.php中找不到“Mage_Helperclass_Helper_Data”类
帮助程序类名称为Test_Helperclass_Helper_Data。
答案 0 :(得分:6)
这是调用帮助程序的正确方法,但是您的错误表明您没有正确设置模块。我假设您的模块存在于app/code/local/Test/Helperclass
中,并且您已使用app/etc/modules/Test_Helperclass.xml
文件启用了模块。
当您致电Magento的工厂时,例如Mage::getModel()
,Mage::getSingleton()
或Mage::helper()
,您不会提供完整的班级名称,而是提供您想要的班级实例化。
格式为modulename/classname
。
在我们的例子中,模块名称是helperclass
(不必与模块的实际名称有任何关系,它也可以是{{1} }),我们的班级名称是foobar
。所以我们实际上是在调用data
,但是Magento让我们将其缩短为Mage::helper('helperclass/data')
。
我们需要告诉Magento扩展Mage::helper('helperclass')
背后的规则。我们在helperclass/data -> Test_Helperclass_Helper_Data
的模块配置文件中执行此操作:
app/code/local/Test/Helperclass/etc/config.xml