我可以禁用哪些默认模块?


25

从这个问题和桑德·曼格尔的回答:

禁用模块-性能提高了吗?

首先,更少的模块意味着更少的代码(潜在地)加载和处理。紧接着,许多模块(例如,Mage_Rss模块)在后台运行大量代码,例如在某些事件上强制重新索引。

因为上述问题并非直接意味着要共享模块列表,所以我认为在此处收集信息是一个好主意。

其他有用的资源:

还有其他模块建议吗?
哪个模块对性能的影响更大?

更新

具有@Marius建议的更新列表

  1. Mage_WishList- 看起来打破了客户详细信息
  2. 法师
  3. Mage_PayPalUk
  4. Mage_Tag(在项目中不使用时)
  5. Mage_Poll(仍然使用民意调查的原因)
  6. Phoenix_Moneybookers
  7. Mage_Sendfriend
  8. Mage_Rating(如果客户不需要)
  9. Mage_Bundle(如果客户不需要)
  10. Mage_Downloadable(如果客户不需要)
  11. Mage_GiftMessage- 看起来您在1.8中需要它,否则产品详细信息将中断
  12. Mage_XmlConnect-如果您没有/不需要移动应用程序。
  13. Mage_Authorizenet
  14. Mage_Paypal(如果未用作付款方式)
  15. Mage_Paygate(仅当您禁用Mage_Paypal,Mage_PaypalUk和Mage_Authorizenet时)
  16. Mage_Weee(仅当您同时禁用Mage_XmlConnect时)
  17. Mage_Usa-仅在ce-1.8.1.0中。(请参阅下面的原因)
  18. Mage_GoogleCheckout-仅在ce-1.8.1.0中禁用,并且只有在禁用Mage_Usa的情况下才能禁用。由于此http://www.magentocommerce.com/bug-tracking/issue/?issue=14359,因此它不适用于以前的版本
  19. Mage_Oauth-如果您不需要REST API
  20. Mage_Api
  21. Mage_Api2-仅在也禁用Mage_Oauth的情况下。

刚发现困难的方法。您不能禁用Mage_Wishlist。如果这样做,那么您将无法在后端看到任何客户详细信息。
马里斯(Marius)

1
禁用Mage_Weee时要小心。这使我的商店两次计税(Magento 1.9.2.1)。
西蒙(Simon)

Answers:


12

我可以添加:

  • Mage_GiftMessage -接缝在1.8中不可禁用
  • Mage_XmlConnect -如果您没有/不需要移动应用。
  • Mage_Authorizenet
  • Mage_Paypal (如果未用作付款方式)
  • Mage_Paygate (仅当您禁用Mage_Paypal,Mage_PaypalUk和Mage_Authorizenet时)
  • Mage_Weee (仅当您同时禁用Mage_XmlConnect时)
  • Mage_Usa-仅在。(请参阅下面的原因)
  • Mage_GoogleCheckout-只能在禁用,并且只有在您禁用的情况下才能使用Mage_Usa。由于此http://www.magentocommerce.com/bug-tracking/issue/?issue=14359,因此它不适用于以前的版本
  • Mage_Oauth -如果您不需要REST API
  • Mage_Api
  • Mage_Api2-仅当您禁用Mage_Oauth也。

通常,您可以禁用(几乎)任何模块,但是您必须app/etc/modules/*.xml根据要禁用的模块检查是否还有其他模块。如果没有,您可以做到。如果有,还必须禁用它们。

作为一般规则的一个例外,如果由于Magento 1.x的构建方式而禁用了某些模块,则某些模块可能会破坏管理员。该Mage_Adminhtml模块包含对其他模块的引用(例如客户,销售...)。看起来在Magento 2.0中将被更改。


API / API2模块呢...如果不需要的话?
2014年

1
@弗朗切斯科。是的 你是对的。我忘了他们。我已经更新了答案。
Marius

如果我不需要任何探险模块怎么办?
2014年

1
@弗朗切斯科。请参阅我从“作为一般规则”开始的最新更新
Marius

1
嗯...看起来这是规则的“例外”之一
Marius

3

我想从SchumacherFM添加到Magento Mock模块的链接。如果在禁用某些模块时遇到问题(读取异常),则可能是使用模拟模块的解决方案。尽管我不知道有关此模块的任何性能测试。知道是否存在任何性能问题会很有趣。


看起来非常有趣的项目谢谢你的分享
法兰克福机场

3

我仍然无法发表评论,因为我需要代表50 ...所以:

感谢西蒙的提及:-)

模拟模块的开发过程中,我遇到了很多奇怪的事情,这些事情发生在不同地方。

我的目的也是要完全删除文件,而不是简单的文件<active>false</active>

您不能简单地禁用例如Mage_Adminnotifications,Mage_WishList,Mage_Tag,Mage_GoogleCheckout或Mage_GiftMessage,因为在Mage_Adminhtml或某些前端模块中使用了一些常量和静态方法。

例如,如果禁用Mage_WishList或Mage_GiftMessage,则adminhtml客户编辑部分将不再加载。

甚至可以禁用Mage_Shipping。我仍然不知道用例对它有什么好处;-)

如果还尝试为已禁用和已删除的Mage_Payment模块创建模拟,但这绝对不可能。8-19小时后,我放弃了。

使用Mock模块,您可以创建自己的https://github.com/colinmollenhour/magento-lite版本


Mage_Shipping如果您仅出售服务或可下载的产品,则可以将其禁用
2014年

Mage_GoogleCheckout可以在1.8中禁用,但我认为您也必须删除产品属性(available_for_googlecheckout或类似的属性)。
马里斯(Marius)

我认为模拟是一个伟大而明智的主意!使用Magento作为一种框架,您是否看到任何许可问题?您认为许可的限制是什么?
2014年

3

我想指出我今天发现的有关禁用Mage Modules和ACL的信息。如果您使用的角色的权限设置为“全部”,并且停用了核心Mage模块,则该模块的代码仍然有可能运行并破坏某些内容。

由于我们使用自定义解决方案,因此不需要Mage_Newsletter,因此我在中停用了Mage_Newsletter Mage_All.xml。但是,这导致Customer Adminhtml面板中断,因为管理员仍在尝试在Mage_Newsletter模块中运行代码。

问题在于ACL如何检查权限。在我的情况下,在customers Tabs.php块类内部,生成新闻简报选项卡的代码封装在ACL权限检查中。由于Mage_Newsletter模块已停用,因此这些ACL选项不再与系统角色权限菜单一起出现。

但是,如果您将角色的权限设置为“全部”,则无论模块是否处于活动状态,Magento都不会落后。它将返回true(允许权限),即使意图被跳过,也允许任何门控逻辑运行。

如果要关闭核心模块,则不能对角色的ACL权限使用“全部”。您必须使用“自定义”选项,然后手动赋予角色所有必要的权限。这是确保Magento正确检查已停用模块的权限的唯一方法(我发现)。


1
不错的观察。+1表示与ACL相关的发现和“飞鼠的背后”
Marius
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.