2010-08-23 21 views
28

Qual è il modo migliore per determinare se un particolare modulo è abilitato/attivo in Magento? Ho provato a utilizzare class_exists per verificare se il mio codice è stato caricato e analizzato da PHP, ma ultimamente ho notato che è piuttosto inaffidabile (restituisce true anche quando elimino la configurazione .xml del modulo).Determina se il modulo Magento è abilitato

Esiste una funzione principale che posso chiamare?

risposta

54

Se si desidera utilizzare una configurazione in funzione basta usare

Mage::helper('core')->isModuleEnabled(<module name>); 

Si è implementato in

Mage_Core_Helper_Abstract 
+4

in realtà dovresti menzionare che il nome del modulo potrebbe essere uguale a: ** MyCompany_MyModule ** – Mohamed23gharbi

+0

Solo fyi, questo metodo è stato introdotto in Magento in CE 1.4.1.0, per compatibilità con versioni inferiori usa la soluzione '' 'getModuleConifg''' – augsteyer

36

Ecco un'altra opzione che è un modo più elegante di scoprire lo stato:

Mage::getConfig()->getModuleConfig('modulename')->is('active', 'true') 
+0

Mi piace molto questo metodo, è molto semplice ma elegante. Grazie! –

+0

dove posso includere questo pezzo di codice? – Chester

0

Ecco un metodo rapido che utilizzo molto.

Mage::getStoreConfig('modulename/general/active') 

Si basa sulle impostazioni etc/system.xml.