本文整理汇总了PHP中Mage_Core_Model_Config_Base::appendChild方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Core_Model_Config_Base::appendChild方法的具体用法?PHP Mage_Core_Model_Config_Base::appendChild怎么用?PHP Mage_Core_Model_Config_Base::appendChild使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_Core_Model_Config_Base
的用法示例。
在下文中一共展示了Mage_Core_Model_Config_Base::appendChild方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _loadDeclaredModules
/**
* Load declared modules configuration
*
* @param $mergeConfig
* @return Mage_Core_Model_Config
*/
protected function _loadDeclaredModules($mergeConfig)
{
$moduleFiles = $this->_getDeclaredModuleFiles();
if (!$moduleFiles) {
return;
}
if (VPROF) {
Varien_Profiler::start('config/load-modules-declaration');
}
$unsortedConfig = new Mage_Core_Model_Config_Base();
$unsortedConfig->loadString('<config/>');
$fileConfig = new Mage_Core_Model_Config_Base();
// load modules declarations
foreach ($moduleFiles as $file) {
$fileConfig->loadFile($file);
$unsortedConfig->extend($fileConfig);
}
$moduleDepends = array();
foreach ($unsortedConfig->getNode('modules')->children() as $moduleName => $moduleNode) {
$depends = array();
if ($moduleNode->depends) {
foreach ($moduleNode->depends->children() as $depend) {
$depends[$depend->getName()] = true;
}
}
$moduleDepends[$moduleName] = array('module' => $moduleName, 'depends' => $depends);
}
// check and sort module dependens
$moduleDepends = $this->_sortModuleDepends($moduleDepends);
// create sorted config
$sortedConfig = new Mage_Core_Model_Config_Base();
$sortedConfig->loadString('<config><modules/></config>');
foreach ($unsortedConfig->getNode()->children() as $nodeName => $node) {
if ($nodeName != 'modules') {
$sortedConfig->appendChild($sortedConfig->getNode(), $node);
}
}
foreach ($moduleDepends as $moduleProp) {
$node = $unsortedConfig->getNode('modules/' . $moduleProp['module']);
$sortedConfig->appendChild($sortedConfig->getNode('modules'), $node);
}
$this->extend($sortedConfig);
if (VPROF) {
Varien_Profiler::stop('config/load-modules-declaration');
}
return $this;
}