如何在模块中调用另一个模块的帮助程序?
当我尝试
法师::助手( '助手类') - > getValueClass( '',$ ID)
它给了我错误:
致命错误:在第516行的C:\ wamp\www\example\app\Mage.php中找不到类'Mage_Helperclass_Helper_Data'
帮助程序类名称为Test_Helperclass_Helper_Data.
这是调用帮助程序的正确方法,但是您的错误表明您没有正确设置模块.我假设您的模块存在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').
我们需要告诉Magento扩张背后的规则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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9614 次 |
| 最近记录: |