モジュールでカスタムヘルパークラスを作成する


24

という新しいモジュールtest_helperを作成しました。このモジュールにヘルパークラスを作成して、サイト全体で呼び出すカスタム関数を追加できるようにします。

ただし、これを実行する方法の例を見つけることはできません。configで余分なxmlを作成し、ベースヘルパーを拡張する別のファイルを追加する必要があると思いますが、ビルドするサンプルを見つけることができませんでした。

回答:


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と呼んでいるわけではありません。これは、テストブロックの内容を確認するためだけのものでしたが、ヘルパー= pと呼ばれる馬鹿げたアイデアです
クリスモリス

おそらく名前を変更した方が良いでしょうが、主なことはそれが機能することです!プロジェクトの幸運
サンダーマンジェル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.