/** * Get Layout update out of collection of changes * * @param Mage_DesignEditor_Model_Change_Collection $collection * @param string|null $handle * @return string */ public function render(Mage_DesignEditor_Model_Change_Collection $collection, $handle = null) { $element = new Varien_Simplexml_Element($this->_getInitialXml()); foreach ($collection as $item) { if ($item instanceof Mage_DesignEditor_Model_Change_LayoutAbstract) { $this->_render($element, $item); } } if ($handle && $collection->count() > 0) { $layoutUpdate = ''; $element = $element->{$handle}; /** @var $node Varien_Simplexml_Element */ foreach ($element->children() as $node) { $layoutUpdate .= $node->asNiceXml(); } } else { $layoutUpdate = $element->asNiceXml(); } return $layoutUpdate; }