Criando uma Classe Auxiliar Customizada no Módulo


24

Criei um novo módulo chamado test_helpere quero criar uma classe auxiliar neste módulo para poder adicionar funções personalizadas a serem chamadas em todo o site.

No entanto, não consigo encontrar exemplos de como fazer isso. Suponho que tenho que criar um xml extra na configuração e adicionar outro arquivo em algum lugar que estenda um auxiliar de base, mas não tive sorte em encontrar um exemplo para construir.

Respostas:


34

Sua convenção de nomenclatura de módulos é bastante confusa - você está chamando o próprio ajudante de módulo? Com o objetivo de explicar, estou optando por ligar para o seu módulomyname_mymodule

No seu módulo ./app/code/community/MyName/MyModule/etc/config.xml, dentro das <global>tags

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

Em seguida, crie o arquivo ./app/code/community/MyName/MyModule/Helper/Data.php

<?php

class MyName_MyModule_Helper_Data extends Mage_Core_Helper_Abstract{

}

Então, para chamar esse módulo, você usaria

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

9

Adicione um auxiliar de diretório no diretório de extensão e lá um arquivo Data.php

class Test_Helper_Helper_Data extends Mage_Core_Helper_Abstract {

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

}

Agora você pode chamá-lo via

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

Adicione também o seguinte no seu config.xml

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

Muito obrigado a vocês dois, isso faz o backup das informações que consegui encontrar e consegui fazê-las funcionar no final. Eu não estou realmente chamando-test_helper que era apenas para me passar por coisas no meu bloco de teste do litle, mas sim idéia idiota chamando-helper = p
Chris Morris

Você provavelmente está melhor renomeando, mas o principal é que funciona! boa sorte com o projeto
Sander Mangel
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.