Answers:
System > Configuration > Advanced > Disable
模块输出实际上不会禁用该模块。顾名思义,它可以禁用模块输出。
当你看着
abstract class Mage_Core_Block_Abstract
在
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
.......
}
而app/etc/modules
完全禁用模块
通过在Magento后端中导航至系统>配置>高级>禁用模块输出,我们可以轻松禁用某些模块。
-这意味着模块将不会渲染,不会将输出发送到屏幕,但是模块会执行。看一下app / code / core / Mage / Core / Block / Abstract.php- > toHtml
如果(Mage :: getStoreConfig('advanced / modules_disable_output /'。$ this-> getModuleName())){返回''; }
在目录app / etc / modules中,通过将active-tag从true更改为false。
---- true / false定义您的模块将被加载还是跳过。看看app/code/core/Mage/Core/Model/Config.php
->loadModulesConfiguration
foreach($ modules as $ modName => $ module){如果($ module-> is('active')){-------}}
Configuration > Current Configuration Scope > Advanced > Advanced > Disable Module Output.
该操作仅禁用模块输出,如其所说。如果您的模块使用了,比如说一些Observer功能可以挂接到系统的某个部分并进行一些覆盖,那么这些操作将不会被禁用。
要完全禁用模块,您需要转到模块配置文件(如)/etc/NAMESPACE_MyModule.xml
,并将其活动参数设置为false,例如:
< ?xml version="1.0"?>
<config>
<modules>
<NAMESPACE_mymodule>
<active>false</active>
<codepool>local</codepool>
</NAMESPACE_mymodule>
</modules>
</config>