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擴展,你會看到如下代碼:
<config> <modules> <Jira_MageBridge> <active>true</active> <codePool>community</codePool> <depends> <Mage_Api /> </depends> </Jira_MageBridge> </modules> </config>
現在,修改active標簽裏的true為false,你就禁用了這個模塊
<active>false</active>
最後別忘了刷新Magento的緩存。
禁用local模塊
但是以上的方法也許還是不能解決你的問題,如果有些模塊是放置在app/code/local目錄下麵,他也許會覆蓋掉一些Magento的核心文件,而不需要使用Xml文件。為了避開這個問題,你需要暫時禁用所有local模塊。
這個可以通過編輯app/etc/local.xml文件來實現,找到disable_local_modules標簽,把值改成true
<disable_local_modules>false</disable_local_modules>
這樣也許能幫你找到問題所在,當然當係統發生嚴重問題的時候,你需要檢查很多方麵來找錯,不過這至少是一個開始。
原文鏈接地址:https://www.yireo.com/tutorials/magento/magento-administration/381-disabling-magento-modules
PS:我自己找到這篇文章並不是為了查錯,而是為了給Magento提速,徹底禁用一些用不到的模塊肯定對性能提升有幫助,像我自己的項目隻針對國內市場,客戶也是國內客戶,所以凡是國內用不到的功能都可以用修改xml文件的方式徹底屏蔽掉,希望多少能提點速吧。
最後更新:2017-04-02 06:51:26