我有一个使用Magento Module Creator创建的简单模块,其中有几个设置在admin-> system-> config。
当我进入这些设置并选择启用/禁用选项时,设置会被保存 - 这很棒 - 但是,我希望在此之后运行我自己的代码,即保存操作后,一旦数据被保存
答案 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
}
}