Beispiel #1
0
 /**
  * @param Mage_Core_Model_Layout $layout
  * @param array $dynamicBlocks
  * @return Mage_Core_Model_Layout
  */
 protected function _prepareLayout(Mage_Core_Model_Layout $layout, array $dynamicBlocks)
 {
     $xml = simplexml_load_string($layout->getXmlString(), Lesti_Fpc_Helper_Data::LAYOUT_ELEMENT_CLASS);
     $cleanXml = simplexml_load_string('<layout/>', Lesti_Fpc_Helper_Data::LAYOUT_ELEMENT_CLASS);
     $types = array('block', 'reference', 'action');
     foreach ($dynamicBlocks as $blockName) {
         foreach ($types as $type) {
             $xPath = $xml->xpath("//" . $type . "[@name='" . $blockName . "']");
             foreach ($xPath as $child) {
                 $cleanXml->appendChild($child);
             }
         }
     }
     $layout->setXml($cleanXml);
     $layout->generateBlocks();
     return Mage::helper('fpc/block_messages')->initLayoutMessages($layout);
 }