哪个类负责创建块的实例?

时间:2017-11-09 12:59:32

标签: magento-1.9

哪个类负责创建块的实例? 请给出答案。

1 个答案:

答案 0 :(得分:0)

" Mage_Core_Model_Layout"这个类创建了类的实例。

类Mage_Core_Model_Layout扩展了Varien_Simplexml_Config {

public function generateBlocks($parent=null)
{
    if (empty($parent)) {
        $parent = $this->getNode();
    }
    foreach ($parent as $node) {
        $attributes = $node->attributes();
        if ((bool)$attributes->ignore) {
            continue;
        }
        switch ($node->getName()) {              
            case 'block':
                $this->_generateBlock($node, $parent);
                $this->generateBlocks($node);
                break;

            case 'reference':
                $this->generateBlocks($node);
                break;

            case 'action':
                $this->_generateAction($node, $parent);
                break;
        }
    }
}

}