How to Disable Magento Modules
Keep going with Magento Developer for Beginners, now we want to discuss about Magento Modules. While you’re building a Magento shop with many third party modules, you might run into weird problems that could be caused by those third party extensions, or a combination of modules. To troubleshoot issues like that, it is useful to temporarily disable modules to see which modules gives you trouble. But disabling modules could be done in multiple ways.
Disabling modules in the Magento backend
By navigating in the Magento backend to System > Configuration > Advanced > Disable Magento Modules Output you can easily disable certain modules. You can even select the scope of the configuration (in the top left of the page) and there for disable specific modules only for specific Store Views. This works out fine in most of the cases, and this is actually the preferred way of disabling a module.
But there’s a catch, and that catch can only be explained by looking at how Magento is initialized: It first reads a lot of XML-files and interprets them, but only after that it knows which MySQL database to use. So first the XML-files are read, and the database configuration is read. But because all settings are stored in the database, some module XML is still included – even if the module is disabled through the Magento backend.
Modifying XML-files
More per formant (but not more useful, and a bit difficult) is it to disable the module right in its core: In XML. In the directory app/etc/modules you can find a bunch of XML-files. While the Magento core-modules are bundled in just a couple of files, in most cases you will find per third party module also a separate XML-file.
Disabling local modules
But this might not solve your problem. If some module is placed in the app/code/local directory it might be overriding a Magento core-class Directly, without the use of XML-files. To bypass this problem, you need to temporarily disable all local modules.