Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Observer中获取magento模块配置数据_Magento - Fatal编程技术网

在Observer中获取magento模块配置数据

在Observer中获取magento模块配置数据,magento,Magento,我创建了一个带有事件挂钩“sales\u order\u shipping\u save\u after”的销售模块观察者的模块 我的模块有以下文件 Company/Modulename/etc/config.xml 公司/Modulename/etc/system.xml Company/Modulename/Model/Observer.php 模块管理配置字段中有四个字段 我想在Observer类中获取那些保存的数据 使用$this->getConfigData(“密码”)给出了一个 调用

我创建了一个带有事件挂钩“sales\u order\u shipping\u save\u after”的销售模块观察者的模块

我的模块有以下文件

  • Company/Modulename/etc/config.xml
  • 公司/Modulename/etc/system.xml
  • Company/Modulename/Model/Observer.php
  • 模块管理配置字段中有四个字段 我想在Observer类中获取那些保存的数据

    使用$this->getConfigData(“密码”)给出了一个

    调用未定义的方法

    错误
    有什么建议吗

    Magento在全局
    Mage
    应用程序对象上使用静态方法来获取配置值

    $config = Mage::getStoreConfig('section_name/group/field'); //value
    $config = Mage::getStoreConfig('section_name/group'); //array
    

    对艾伦完全正确答案的修正。

    除了将
    path
    作为第一个参数外,
    getStoreConfig
    还接受
    storeid
    作为第二个参数(可选)

    当您想要检索存储方式的值时,这非常有用

    艾伦在自己的书中提到了这一点。我猜,他没有在这里提到,只是因为OP在他的问题中没有提到这个要求


    请参考装运模块中的
    ,我可以使用
    $this->getConfigDat
    a查看
    system.xml
    中的字段,但在另一类模块中,有时我必须使用getStoreConfig,例如扩展
    Mage\u Core\u Model\u Abstract
    。因此,答案是您不必总是使用getStoreConfig。但我不知道为什么


    答:getConfigData只是在装运类中定义的,并且也使用getStoreConfig。有些函数是额外定义的,实际上是不需要的,这有点令人困惑

    组功能是一个巨大的奖励,因为您可以Mage::log($config)查看所有选项是什么,以及是否正确标记了它们-谢谢!你的Magento相关教程非常棒。帮助很大。谢谢