什么是 getConfigData ?和Magento中的getConfigData和getStoreConfigData之间的差异。
$this->getConfigData('shippingspecificcountry', $store_id);
我尝试使用我当前的商店ID和0,两者都给出了空数组。
任何人都可以解释上述方法。
答案 0 :(得分:5)
你的问题可能会使用更多的背景 - 缺乏这一点。
Mage::getStoreConfig
方法是全局Mage
类的静态方法,可以访问存储在Magento配置树中的配置值。 Magento的配置树由
app/etc/*.xml
config.xml
个文件core_config_data
中设置的任何值(通过管理员中的System -> Configuration
)由于Magento的配置太大,许多模块开发人员都会添加getConfigData
或getConfig
等方法,以便轻松获取特定的配置值。例如,请考虑这个过于简单的示例
Mage::getStoreConfig('foo/baz/bar')
VS
$this->getConfig('bar');
....
public function getConfigData($key)
{
return Mage::getStoreConfig('foo/baz/' . $bar);
}
第二个允许客户端程序员更简洁的代码。
您可以在Magento various shipping carriers
的基类中看到这样的示例public function getConfigData($field)
{
if (empty($this->_code)) {
return false;
}
$path = 'carriers/'.$this->_code.'/'.$field;
return Mage::getStoreConfig($path, $this->getStore());
}
此处getConfigData
方法将自动在carriers
节点中查找配置密钥 - 使用运营商的_code
作为子节点,并检查实例化商店代码的承运人对象。
getConfigData
方法的行为会有所不同,具体取决于您使用的类/对象,但希望这足以让您指向正确的方向。