2010-08-23 7 views
28

Quelle est la meilleure façon de déterminer si un module particulier est activé/actif dans Magento? J'ai essayé d'utiliser class_exists pour vérifier si mon code a été chargé et analysé par PHP mais dernièrement j'ai remarqué qu'il est assez peu fiable (retourne true même quand je supprime la configuration .xml du module).Déterminer si le module Magento est activé

Existe-t-il une fonction de base que je peux appeler?

Répondre

54

Si vous souhaitez utiliser une construction en fonction il suffit d'utiliser

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

Il est mis en œuvre

Mage_Core_Helper_Abstract 
+4

en fait, vous devriez mentionner que le nom du module doit être égal à: ** MyCompany_MyModule ** – Mohamed23gharbi

+0

Juste fyi, cette méthode a été introduite à magento dans CE 1.4.1.0, pour la compatibilité version inférieure, utilisez la solution '' 'getModuleConifg''' – augsteyer

36

Voici une autre option qui est une façon plus élégante de trouver le statut:

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

J'aime vraiment cette méthode, c'est très simple mais élégant. Merci! –

+0

où puis-je inclure ce morceau de code? – Chester

0

Voici une méthode rapide que j'utilise beaucoup.

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

Ceci est basé sur vos paramètres etc/system.xml.

Questions connexes