Magento事件/观察者对象getData问题


Magento Event / Observer Object getData problems

我有一个Magento模块我构建,允许您通过管理界面保存一个字符串到Magento的核心配置表。我有一个观察者设置运行一个方法时,字符串保存在后端。我在试图拦截字符串并在将其保存到数据库之前对其进行编码,这简直是杀了我自己。

所以当我的事件被触发时,它运行这个:

public function myModSaved($observer)
{
    echo "<h1> WOWSERS IT ACTUALLY WORKED!!</h1>";
    $data = $observer->getData();   
    print_r($data);
}

输出如下所示:

Array ( [event] => Varien_Event Object ( [_observers:protected] => Varien_Event_Observer_Collection Object ( [_observers:protected] => Array ( ) ) [_data:protected] => Array ( [website] => [store] => [name] => admin_system_config_changed_section_mymodule_section ) [_hasDataChanges:protected] => [_origData:protected] => [_idFieldName:protected] => [_isDeleted:protected] => [_oldFieldsMap:protected] => Array ( ) [_syncFieldsMap:protected] => Array ( ) ) [website] => [store] => ) 

现在只有一个字符串被写入到数据库中,我如何在保存之前获得该字符串,然后将我的新修改字符串添加到对象中,以便在DB中保存?

提前感谢!

在定义了config字段的system.xml文件中添加以下声明:

<backend_model>adminhtml/system_config_backend_encrypted</backend_model>

这将处理数据库访问之前和之后的所有编码/解码。另外,要获取'password'类型字段,通常使用如下方式:

<frontend_type>obscure</frontend_type>