禁用模块输出和模块active = true有什么区别


16

在magento中,我知道我们可以通过两种方式取消模块

  1. 通过在Magento后端中导航至系统>配置>高级>禁用模块输出,我们可以轻松禁用某些模块。
  2. 在目录app / etc / modules中,通过将活动标签从true更改为false。

我可以知道这两种技术的确切区别是什么吗?如果有人给出更详细的答案,它会非常有帮助。


1
好问题..
阿米特·贝拉

@AmitBera,谢谢您
查理

Answers:


17
  1. 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
    .......
    }
  2. app/etc/modules完全禁用模块


完美的答案...
Kartik Asodariya

3
  1. 通过在Magento后端中导航至系统>配置>高级>禁用模块输出,我们可以轻松禁用某些模块。

    -这意味着模块将不会渲染,不会将输出发送到屏幕,但是模块会执行。看一下app / code / core / Mage / Core / Block / Abstract.php- > toHtml

    如果(Mage :: getStoreConfig('advanced / modules_disable_output /'。$ this-> getModuleName())){返回''; }

  2. 在目录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')){-------}}


2

当您使用时Disable Modules Output,这意味着该模块将不会以编程的方式在屏幕上呈现任何内容:该_toHtml()函数将不返回任何内容。其他所有内容(观察者,重写者,控制器)仍将执行。

理想情况下,如果要正确禁用某个模块,请将“活动”设置为false,并确保没有其他模块在扩展它。


2

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>

如果我们将活动标签更改为false,是否会加载模块?Magento如何处理这个问题?
查理

它仍然加载将在系统>配置>高级中显示的模块。不加载类似etc / config.xml的模块文件。
2015年

0

“禁用模块输出”仅禁用扩展定义的块输出。例如,如果定义了观察者,它不会跳过模块代码的执行。


两种情况都将加载哪个文件,而不会同时加载哪些文件?
查理
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.