我已经知道如何通过转到系统&gt;配置&gt;高级并在etc / modules中设置<active>false</active>
来禁用系统配置中的模块输出。我想知道的是如何使用我使用system.xml创建的自定义选项卡来禁用模块。
答案 0 :(得分:1)
将此代码添加到system.xml
<fields>
<enable translate="label">
<label>Enable</label>
<frontend_type>select</frontend_type>
<source_model>adminhtml/system_config_source_yesno</source_model>
<sort_order>0</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<comment>enable/disable the module</comment>
</enable>
</fields>
并在您的代码中检查:在模块中的第一个操作之前。(这可能在您的cron.php or observer.php or indexcontroller
中)
$isenabled = Mage::getStoreConfig('section_name/group_name/enable');
if (!$isenabled) {
return;
}
答案 1 :(得分:0)
您可以在system.xml中添加新的启用/禁用字段,并且在您的模块执行任何代码之前检查此字段值,如果启用则执行,否则不执行,这样就可以实现。
答案 2 :(得分:0)
您必须在xml文件中使用 ifconfig
例如,您在system.xml中创建了一个字段
<enable translate="label">
<label>enable</label>
<frontend_type>select</frontend_type>
<source_model>adminhtml/system_config_source_yesno</source_model>
<sort_order>10</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
在你的xml文件中
<block class="your Blockname" name="name of field" ifconfig="sectionname/groupname/enable">
如果您的模块已启用,则使用if config,否则它将显示,否则将无法显示..!