Disable/Enable 模块在 magento 中使用 system.xml 在 magento

Disable/Enable module in magento using system.xml in magento

我已经知道如何通过转到“系统”>“配置”>“高级”并在 etc/modules 中设置 <active>false</active> 来禁用系统配置中的模块输出。我想知道的是如何使用我使用 system.xml.

创建的自定义选项卡禁用模块

您可以在 system.xml 中添加新的 Enable/Disable 字段,并且在您的模块执行任何代码之前检查此字段值,如果启用则执行否则不执行,这样就可以了。

您必须在 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 如果您的模块启用则它会显示,否则不会显示..!

将此代码添加到您的 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;
}