【问题标题】:Magento Event / Observer Object getData problemsMagento 事件/观察者对象 getData 问题
【发布时间】:2012-01-03 00:58:34
【问题描述】:

我有一个我构建的 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] => ) 

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

提前致谢!

【问题讨论】:

    标签: php events magento observer-pattern


    【解决方案1】:

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

    <backend_model>adminhtml/system_config_backend_encrypted</backend_model>
    

    这将负责数据库访问前后的所有编码/解码。此外,要获取“密码”类型字段,通常使用此:

    <frontend_type>obscure</frontend_type>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-23
      • 2016-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-10
      相关资源
      最近更新 更多