Petit article en passant car j’ai mis ça en place et ça peut être bien pratique.
Vous pouvez facilement appeler un évènement dans l’admin de votre site après la sauvegarde d’une certaine section de la page « Système -> Configuration ».
Pour cela dans le config.xml ajustez votre code de cette façon :
<?xml version="1.0"?> <config> <!-- ... --> <adminhtml> <events> <admin_system_config_changed_section_NOMDESECTION> <observers> <NOM_DE_VOTRE_OBSERVER> <type>singleton</type> <class>NOM_DU_MODULE/observer</class> <method>adminSystemConfigChangedNOMDESECTION</method> </NOM_DE_VOTRE_OBSERVER> </observers> </admin_system_config_changed_section_NOMDESECTION> </events> </adminhtml> <!-- ... --> </config>
Et votre observer :
<?php class NOM_DU_MODULE_Model_Observer { public function adminSystemConfigChangedNOMDESECTION(Varien_Event_Observer $observer) { // VOTRE CODE ICI } }
Avant de tester le code, assurez-vous de vider le cache Magento si celui-ci est activé !
NB : Vous pouvez de ce fait récupérer les valeurs enregistrées dans la configuration (pour des traitements particuliers) de la façon habituelle dans la méthode de votre Observer:
<?php // ... public function adminSystemConfigChangedNOMDESECTION(Varien_Event_Observer $observer) { $configValue = Mage::getStoreConfig('sectionName/groupName/fieldName'); } // ... ?>
Appeler un event après une sauvegarde de System Config