Difference Between Disable Module Output and Module Active in Magento 1.9

configurationmagento-1.8magento-1.9module

In magento I come to knew that we can disabel our module by two ways

  1. By navigating in the Magento backend to System > Configuration > Advanced > Disable modules output we can easily disable certain modules.
  2. In the directory app/etc/modules, by changing the active-tag from true to false.

May I know what is the exact difference in these two technic?
Its very help if anyone give more detailed Answer.

Best Answer

  1. System > Configuration > Advanced > Disable Modules Output will not actually disable that module. It work as the name suggest, disable modules output.

    When you look at

    abstract class Mage_Core_Block_Abstract
    

    In

    final public function toHtml()
    {
        Mage::dispatchEvent('core_block_abstract_to_html_before', array('block' => $this));
        if (Mage::getStoreConfig('advanced/modules_disable_output/' . $this->getModuleName())) {
            return '';
        } 
    
    // It is checking If its in disabled mode then just return blank output
    .......
    }
    
  2. While app/etc/modules completely disabled module