我有一個用Magento Module Creator創建的簡單模塊,在admin-> system-> config中有幾個設置。Magento - 模塊與系統配置,我該如何做一些保存?
當我轉到這些設置並選擇啓用/禁用選項時,設置會被保存 - 這很好 - 但是,我想在此之後運行我自己的代碼,即在保存操作中,一旦數據已被保存。
我有一個用Magento Module Creator創建的簡單模塊,在admin-> system-> config中有幾個設置。Magento - 模塊與系統配置,我該如何做一些保存?
當我轉到這些設置並選擇啓用/禁用選項時,設置會被保存 - 這很好 - 但是,我想在此之後運行我自己的代碼,即在保存操作中,一旦數據已被保存。
雖然它不是一個好主意,但是你可以通過觀察實現它:
<controller_action_postdispatch_adminhtml_mymodule_mycontroller_myaction>
與module_controller_action代替我-S,並且最有可能你希望把它在這一事件:
<controller_action_postdispatch_adminhtml_system_config_save>
在你的配置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
}
}
在你etc/system.xml
添加backend model從Mage_Core_Model_Config_Data
下降和使用它的_afterSave()
方法來運行你的代碼。
這比接受的答案要好得多。 –
感謝您的幫助。我想你指出我在正確的方向,但是,我也從靈感來自http://stackoverflow.com/questions/5822459/magento-backend-model-do-i-need-to-specify-for-each-config最後到達那裏。觀察員是一個好主意,只要你找到合適的人 - 看到鏈接的文章,並感謝你的快速幫助。 –
這篇關於驗證系統配置值的文章展示瞭如何設置後端模型以在保存之前和之後發生內容http://alanstorm.com/magento_system_config_validation –