Domanda

Ho fatto un nuovo modulo chiamato test_helper e voglio creare una classe di supporto in questo modulo in modo che posso aggiungere funzioni personalizzate per essere chiamato tutto il mio sito.

Non posso però sembrano trovare alcun esempio di bene come andare a fare questo. Presumo che devo creare qualche xml in più in config e ad un altro file da qualche parte che si estende un aiuto di base, ma non ho avuto fortuna a trovare un esempio su cui costruire.

È stato utile?

Soluzione

Il modulo convenzione di denominazione è piuttosto confusa - si sta chiamando il modulo stesso aiutante? Al fine di spiegare, ho scelto di chiamare il myname_mymodule modulo

Nel modulo ./app/code/community/MyName/MyModule/etc/config.xml, all'interno dei tag <global>

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

Quindi creare il file ./app/code/community/MyName/MyModule/Helper/Data.php

<?php

class MyName_MyModule_Helper_Data extends Mage_Core_Helper_Abstract{

}

Poi per chiamare quel modulo, si può usare

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

Altri suggerimenti

Aggiungi una directory Helper nella directory dell'estensione e là in un file Data.php

class Test_Helper_Helper_Data extends Mage_Core_Helper_Abstract {

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

}

Ora si può chiamare tramite

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

Anche aggiungere quanto segue nel config.xml

...
<global>
    ...
    <helpers>
        <[extension name]>
            <class>[Namespace]_[extension name]_Helper</class>
        </[extension name]>
    </helpers>
    ...
</global>
...
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top