Magento Module Creatorを使用して、admin-> system-> configの2つの設定で簡単なモジュールを作成しました。システム構成のMagento - モジュール、保存時に何かしますか?
有効/無効のオプションを選択すると、設定が保存されますが、これは素晴らしいことですが、後で自分のコードを実行したい、つまりデータが保存されたら保存アクションを実行します保存されました。
Magento Module Creatorを使用して、admin-> system-> configの2つの設定で簡単なモジュールを作成しました。システム構成の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では、あなたのモジュールを持っているようあなたのetc/system.xml
でクラスのmymodule /モデル/ Observer.php
におけるオブザーバーと
class modules_mymodule_observer {
public function myfunction(Varien_Event_Observer $observer){
//do your stuffs
}
}
としてオブザーバーを宣言するには、backend modelを追加Mage_Core_Model_Config_Data
から降り、それはあなたのコードを実行するための_afterSave()
方法です使用しています。
これは受け入れられた回答よりもはるかに優れています。 –
ご協力ありがとうございます。私はあなたが正しい方向に私を指摘したと思いますが、私はまた、インスピレーションを受けましたhttp://stackoverflow.com/questions/5822459/magento-backend-model-do-i-need-to-specify-for-each-config - フィールドと最後にそこに得た。あなたが正しいものを手に入れている限り、オブザーバーは良いアイデアです - リンクされた記事を見て、あなたの迅速な助けを感謝します。 –
システム設定値を検証するこの記事では、保存前と保存後にバックエンドモデルを設定する方法を示しています。 –