Magento模块在管理员中禁用,但在前端检查时仍显示为已启用

时间:2015-09-28 03:28:21

标签: magento module

检查模块是否启用时,我找到了此代码

  

法师:: getConfig() - > getModuleConfig(' Mage_Checkout') - '是('有源&#39 ;,   '真&#39)

但我认为这仅适用于int string_set::hash_function(const char *s) { int h = 0; for (int i =0; i < *s; i++) { h = h + int(s[i]); return h % HASH_TABLE_SIZE; } return h; } 中包含<active>标记的模块。在我的情况下,我在管理员中禁用了 Mage_Checkout模块,但在我尝试调用该函数时它始终显示为活动状态。

是否有其他方法可以检查管理区域中是否禁用了某个模块?谢谢你的帮助!

3 个答案:

答案 0 :(得分:2)

您无法从管理面板中真正禁用扩展程序。 “禁用模块输出”配置有点误导,它只是跳过渲染相应模块的块和管理菜单。

但是当然你可以检查这个配置来隐藏或禁用更多适当的东西。这是对Mage_Checkout

的检查
if (Mage::helper('core')->isModuleOutputEnabled("Mage_Checkout")) { ... }

请注意,如果模块非活动,这也将返回true,因为它仅检查此模块是否存在“禁用模块输出”配置。所以你需要结合两个检查:

if (Mage::helper('core')->isModuleOutputEnabled("Mage_Checkout") &&
    Mage::getConfig()->getModuleConfig('Mage_Checkout')->is('active', 'true')) { ... }

答案 1 :(得分:1)

如果要检查模块输出是否已从管理员启用,则可以使用

Mage::helper('core')->isModuleOutputEnabled("your_module_name")

答案 2 :(得分:0)

如果要禁用模块,可以使用代码执行此操作。

转到app\etc\modules打开xml文件并将<active>true</active>设置为<active>false</active>

您可以通过检查xml

来检查模块是否处于活动状态