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;
}
我已经知道如何通过转到“系统”>“配置”>“高级”并在 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;
}