簡體   English   中英

如何在Magento中通過Xml禁用每個主題的模塊

[英]How To Disable Module Per Theme Via Xml in Magento

我希望找到一種方法來逐個主題禁用特定擴展?

假設的情況:我想為我現有的magento網站開發一個移動主題。 該網站的許多擴展程序不能很好地與我的移動設計配合使用。

與其重新處理所有的CSS /模板文件,我不希望僅恢復為magento的默認設置。

在/ design / frontend / mypackage /中是否有辦法可以禁用這些擴展?

無法基於主題禁用模塊。

但是,您可以通過檢查實際的程序包/主題來防止執行模塊代碼。 顯然,這是一種解決方法,雖然不是很好,但是確實可以。

例如,模塊中的以下代碼:

<?php
$packageName = Mage::getSingleton('core/design_package')->getPackageName();
$themeName = Mage::getSingleton('core/design_package')->getTheme('frontend');

if ($themeName != 'MobileThemeName') {
    // Your module code
}

您不能禁用每個商店/主題的擴展名。 但是,您可以轉到以下位置來禁用該擴展程序生成的輸出:

配置>當前配置范圍>高級>高級>禁用模塊輸出

如上面所說,此操作僅禁用模塊輸出。 如果您的模塊使用了,假設某些觀察者功能可以掛接到系統的某些部分並進行一些覆蓋,那么這些操作將不會被禁用。

要完全禁用模塊,您需要轉到模塊配置文件,例如/etc/ActiveCodeline_MyModule.xml ,並將其活動參數設置為false,例如:

<config>
    <modules>
        <activecodeline_mymodule>
            <active>false</active>
            <codepool>local</codepool>
        </activecodeline_mymodule>
    </modules>
</config>

詳細信息如何完全禁用(關閉)Magento模塊禁用移動主題上的Magento擴展/模塊

您可以在local.xml中禁用該模塊。 只需將以下xml代碼粘貼到主題的local.xml中。

<config>
    <modules>
        <[Your_Module_Name]>
            <active>false</active>
        </[Your_Module_Name]>
    </modules>
</config>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM