Magento - 具有系统配置的模块,如何在保存时执行某些操作?

时间:2011-07-12 11:50:24

标签: magento

我有一个使用Magento Module Creator创建的简单模块,其中有几个设置在admin-> system-> config。

当我进入这些设置并选择启用/禁用选项时,设置会被保存 - 这很棒 - 但是,我希望在此之后运行我自己的代码,即保存操作后,一旦数据被保存

2 个答案:

答案 0 :(得分:5)

etc/system.xml添加Mage_Core_Model_Config_Data后代backend model并使用_afterSave()方法运行代码。

答案 1 :(得分:1)

虽然这不是一个好主意,但你可以通过观察者来实现它:

<controller_action_postdispatch_adminhtml_mymodule_mycontroller_myaction>

用module_controller_action替换my-s,很可能你想把它放在这个事件中:

<controller_action_postdispatch_adminhtml_system_config_save>
你的config xml中的

如下:

<controller_action_postdispatch_adminhtml_system_config_save>
    <observers><myobserver>
        <type>singleton</type>
        <class>mymodule/observer</class>
        <method>mymethod</method> 
    </myobserver></observers>
</controller_action_postdispatch_adminhtml_system_config_save>

并且在mymodule中,就像在你的模块中有一个mymodule / Model / Observer.php中的类观察者

并将观察者声明为

class modules_mymodule_observer {
     public function myfunction(Varien_Event_Observer $observer){
         //do your stuffs
     }
}