完全禁用模块 - Magento 1.9

时间:2017-04-25 12:45:21

标签: xml module configuration magento-1.9

我正在尝试以编程方式禁用Magento模块。我只是尝试将以下代码添加到myadmin header.phtml

    // Disable the module itself
    $moduleName="Thycart_Customcheckout"
        $nodePath = "modules/$moduleName/active";
        if (Mage::helper('core/data')->isModuleEnabled($moduleName)) {
            Mage::getConfig()->setNode($nodePath, 'false', true);
            echo Mage::getConfig()->getNode('modules/Thycart_Customcheckout')->active;            
        }

        // Disable its output as well (which was already loaded)
         $outputPath = "advanced/modules_disable_output/$moduleName";
         if (!Mage::getStoreConfig($outputPath)) {
             Mage::app()->getStore()->setConfig($outputPath, true);
         }

回音

  

法师:: getConfig() - > getNode( '模块/ Thycart_Customcheckout') - >活性;

返回我的错误,但实际上模块没有从xml中禁用。

也尝试了

  

法师:: getConfig() - > saveconfig的();

返回了

  

前端控制器达到100路由器匹配迭代错误。

有人可以帮助在配置文件中将节点激活为false。感谢。

1 个答案:

答案 0 :(得分:0)

这是一种不好的代码实践。你不应该像这样禁用模块。当您的phtml文件(header.php)执行时,大多数模块已被调用,它们的对象在内存中。

如果要禁用模块,则可以禁用它们 system-> configuration-> advance->禁用模块输出,或者你可以通过

禁用它们

在\ app \ etc \ modules \ Mynamespace_Mymodulename.xml中的模块.xml文件中设置false。