/** * Add xml layout updates directives * * @param string $xmlLayoutUpdates * @return Mage_DesignEditor_Model_History */ public function addXmlChanges($xmlLayoutUpdates) { /** @var $xml Varien_Simplexml_Element */ $xml = simplexml_load_string('<?xml version="1.0" encoding="UTF-8"?><layout>' . $xmlLayoutUpdates . '</layout>', 'Varien_Simplexml_Element'); /** @var $node Varien_Simplexml_Element */ foreach ($xml->children() as $node) { $item = $this->_getChangeItem($node); $itemId = $item->getData('element_name'); if ($this->_collection->getItemById($itemId) !== null) { $this->_collection->removeItemByKey($itemId); } $item->setId($itemId)->setData(self::SYSTEM_LAYOUT_UPDATE_FLAG, true); $this->_collection->addItem($item); } return $this; }