检查模块是否启用时,我找到了此代码
法师:: 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模块,但在我尝试调用该函数时它始终显示为活动状态。
是否有其他方法可以检查管理区域中是否禁用了某个模块?谢谢你的帮助!
答案 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
来检查模块是否处于活动状态