Magento getStoreConfig任务。在elance.com上

时间:2015-02-24 14:20:39

标签: magento

在elance.com上有一个关于getStoreConfig函数的问题。很可能这样的问题存在于认证考试中。

Which one of the following xpaths can be read using Mage::getStoreConfig('some/value')?

Answers:

• default/some/value
• some/value
• some/value/default
• global/default/some/value
• stores/some/value

此服务告诉正确的答案是'stores / some / value'。但如果我们查看代码,我们会看到:

public static function getStoreConfig($path, $store = null)
{
    return self::app()->getStore($store)->getConfig($path);
}

public function getConfig($path)
{
    if (isset($this->_configCache[$path])) {
        return $this->_configCache[$path];
    }

    $config = Mage::getConfig();

    $fullPath = 'stores/' . $this->getCode() . '/' . $path;
    $data = $config->getNode($fullPath);
    if (!$data && !Mage::isInstalled()) {
        $data = $config->getNode('default/' . $path);
    }
    if (!$data) {
        return null;
    }
    return $this->_processConfigValue($fullPath, $path, $data);
} 

这意味着正确答案是:

$fullPath = 'stores/' . $this->getCode() . '/' . $path;
(stores/default{or some another store}/some/value)

$data = $config->getNode('default/' . $path);
(default/some/value)

如果我们调试这个,我们可以看到,商店只有admin和storenames子节点。有人可以澄清一下吗?我错过了什么吗?

1 个答案:

答案 0 :(得分:2)

你说得对,Elance考试错了。

可能的Xpath是:

  • default/some/value(默认配置)
  • stores/[store]/some/value(商店配置)