在magento中调用模块中另一个模块的助手

Soh*_*ail 3 helper magento

如何在模块中调用另一个模块的帮助程序?

当我尝试

法师::助手( '助手类') - > getValueClass( '',$ ID)

它给了我错误:

致命错误:在第516行的C:\ wamp\www\example\app\Mage.php中找不到类'Mage_Helperclass_Helper_Data'

帮助程序类名称为Test_Helperclass_Helper_Data.

Nic*_*ick 6

这是调用帮助程序的正确方法,但是您的错误表明您没有正确设置模块.我假设您的模块存在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)