我希望找到一种方法来按主题禁用主题上的特定扩展名?
假设情景: 我想为我现有的magento网站开发一个移动主题。 该网站有许多扩展程序,与我的移动设计不相符。
我没有重新处理所有的css /模板文件,而是希望恢复为magento的默认值。
是否有一种方法可能在/ design / frontend / mypackage /我可以禁用这些扩展的位置?
答案 0 :(得分:1)
无法在主题基础上禁用模块。
但是,您可以通过检查实际的包/主题来阻止执行模块代码。这显然是一种解决方法而不是非常优雅,但确实有效。
E.g。以下代码中的代码:
<?php
$packageName = Mage::getSingleton('core/design_package')->getPackageName();
$themeName = Mage::getSingleton('core/design_package')->getTheme('frontend');
if ($themeName != 'MobileThemeName') {
// Your module code
}
答案 1 :(得分:0)
您无法为每个商店/主题停用扩展程序。但是,您可以通过转到
来禁用该扩展程序生成的输出配置&gt; <当前配置范围>高级&gt;高级&gt; 禁用模块输出
此操作仅禁用模块输出。如果你的模块使用了,让我们说一些Observer功能挂钩到系统的某个部分并做一些覆盖,那么这些动作就不会被禁用。
要完全禁用模块,您需要转到模块配置文件,如/etc/ActiveCodeline_MyModule.xml
,并将其活动参数设置为false,如:
<config>
<modules>
<activecodeline_mymodule>
<active>false</active>
<codepool>local</codepool>
</activecodeline_mymodule>
</modules>
</config>
更多信息How to fully disable (turn off) Magento module&amp; Disable Magento extention/module on mobile theme
答案 2 :(得分:0)
您可以在local.xml中禁用该模块。只需将以下xml代码粘贴到主题的local.xml中即可。
<config>
<modules>
<[Your_Module_Name]>
<active>false</active>
</[Your_Module_Name]>
</modules>
</config>