在模块中创建自定义帮助程序类


24

test_helper创建了一个名为的新模块,并希望在此模块中创建一个帮助器类,以便可以添加自定义函数以在整个站点中调用。

但是,我似乎找不到有关如何执行此操作的任何示例。我假设我必须在config中创建一些额外的xml,并在扩展基本帮助程序的位置添加另一个文件,但是我没有运气找到要构建的示例。

Answers:


34

您的模块命名约定非常令人困惑-您是在调用模块本身的助手吗?为了说明起见,我选择调用您的模块myname_mymodule

在您的模块中./app/code/community/MyName/MyModule/etc/config.xml<global>标签内

<helpers>
  <mymodule>
      <class>MyName_MyModule_Helper</class>
  </mymodule>
</helpers>

然后创建文件 ./app/code/community/MyName/MyModule/Helper/Data.php

<?php

class MyName_MyModule_Helper_Data extends Mage_Core_Helper_Abstract{

}

然后调用该模块,您将使用

$helper = Mage::helper('mymodule');

9

在扩展目录中添加目录帮助器,并在其中添加文件 Data.php

class Test_Helper_Helper_Data extends Mage_Core_Helper_Abstract {

  public function yourFunction() {
     ...
     your code here
     ...
  } 

}

现在您可以通过

Mage::helper('test/helper')->yourFunction();

还要在您的计算机上添加以下内容 config.xml

...
<global>
    ...
    <helpers>
        <[extension name]>
            <class>[Namespace]_[extension name]_Helper</class>
        </[extension name]>
    </helpers>
    ...
</global>
...

非常感谢你们两个,这备份了我所能找到的一小部分信息,最终使我能够正常工作。我并不是真正地将它称为test_helper,它只是为了让我经历一下我的litle测试块上的东西,但是是的,愚蠢的想法称它为helper = p
Chris Morris

重命名可能更好,但主要是它可以工作!祝项目顺利
Sander Mangel
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.