모듈에서 사용자 정의 헬퍼 클래스 작성


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라고 부르지는 않지만 멍청한 생각은 그것을 helper = p라고 부릅니다.
Chris Morris

이름을 바꾸는 것이 더 나을 수도 있지만 가장 중요한 것은 작동합니다! 프로젝트와 함께 행운을 빌어 요
Sander Mangel
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.