`
shuishui8310
  • 浏览: 155228 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

magento -- 如何禁用Magento的模块

阅读更多

当你创建一个新的Magento项目用到很多第三方模块时,可能会遇到一些奇怪的问题,这些问题可能是某个模块造成,也有可能是某些模块共用时带来的(兼容问题)。为了检查是哪些模块带来的问题,暂时的禁用掉一些模块是很有用的方式。禁用模块有多种方式可选。

Magento后台禁用模块

进入Magento的后台,找到System > Configuration > Advanced > Disable modules output,在这里你可以很轻松的禁用掉一些模块。你也可以选择配置的生效范围(下拉框在页面的左上角),以做到在特定的商店(多店情况下)禁用特定的模块。这种方式适用于大多数情况,也是禁用模块的首选方式。

这里有一点疑惑,这个疑惑只能透过审视Magento的初始化过程来解释:Magento首先读取大量Xml文件,并解析它们,然后才会知道需要使用哪个数据库。所以流程是先读取Xml配置文件,再读取数据库里的配置。因为这种方式禁用模块的设置全部都存在数据库里面,所以就算在Magento后台已经禁用了某些模块,那些模块的文件还是会在初始化的时候包含进来。

编辑Xml文件


性能更好的方式(但不是更方便的方式,甚至有一点点困难)是直接在Xml文件中禁用这些模块。在app/etc/modules目录下你可以找到一批Xml文件,其中Magento的核心模块只是配置于其中两个文件。大多数情况下,你能为每个第三方模块找到独立的Xml配置文件。当你打开一个Xml文件,比如说我们的MageBridge扩展,你会看到如下代码:

现在,修改active标签里的true为false,你就禁用了这个模块

最后别忘了刷新Magento的缓存。

禁用local模块

但是以上的方法也许还是不能解决你的问题,如果有些模块是放置在app/code/local目录下面,他也许会覆盖掉一些Magento的核心文件,而不需要使用Xml文件。为了避开这个问题,你需要暂时禁用所有local模块。

这个可以通过编辑app/etc/local.xml文件来实现,找到disable_local_modules标签,把值改成true

这样也许能帮你找到问题所在,当然当系统发生严重问题的时候,你需要检查很多方面来找错,不过这至少是一个开始。

原文链接地址:http://www.yireo.com/tutorials/magento/magento-administration/381-disabling-magento-modules

PS:我自己找到这篇文章并不是为了查错,而是为了给Magento提速,彻底禁用一些用不到的模块肯定对性能提升有帮助,像我自己的项目只针对国内市场,客户也是国内客户,所以凡是国内用不到的功能都可以用修改xml文件的方式彻底屏蔽掉,希望多少能提点速吧。


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics