Ejemplo n.º 1
0
 /**
  * Retrieve block tags and add it to processor
  *
  * @param Varien_Event_Observer $observer
  * @return Enterprise_PageCache_Model_Observer
  */
 public function registerBlockTags(Varien_Event_Observer $observer)
 {
     if (!$this->isCacheEnabled()) {
         return $this;
     }
     /** @var $block Mage_Core_Block_Abstract*/
     $block = $observer->getEvent()->getBlock();
     $contextBlock = $this->_getContextBlock($block);
     $this->unregisterContext($block);
     $tags = $block->getCacheTags();
     if (empty($tags)) {
         return $this;
     }
     $key = array_search(Mage_Core_Block_Abstract::CACHE_GROUP, $tags);
     if (false !== $key) {
         unset($tags[$key]);
     }
     if (empty($tags)) {
         return $this;
     }
     if (!empty($contextBlock)) {
         if ($contextBlock->getType() != $block->getType()) {
             $contextBlock->addCacheTag($tags);
         } else {
             $block->addCacheTag($tags);
         }
     } else {
         $this->_processor->addRequestTag($tags);
     }
     return $this;
 }
Ejemplo n.º 2
0
 /**
  * model_load_after event processor. Collect tags of all loaded entities
  *
  * @param $observer
  */
 public function registerModelTag(Varien_Event_Observer $observer)
 {
     if (!$this->isCacheEnabled()) {
         return $this;
     }
     $object = $observer->getEvent()->getObject();
     if ($object && $object->getId()) {
         $tags = $object->getCacheIdTags();
         if ($tags) {
             $this->_processor->addRequestTag($tags);
         }
     }
 }
 /**
  * Retrieve block tags and add it to processor
  *
  * @param Varien_Event_Observer $observer
  * @return Enterprise_PageCache_Model_Observer
  */
 public function registerBlockTags(Varien_Event_Observer $observer)
 {
     if (!$this->isCacheEnabled()) {
         return $this;
     }
     /** @var $block Mage_Core_Block_Abstract*/
     $block = $observer->getEvent()->getBlock();
     if (in_array($block->getType(), array_keys($this->_config->getDeclaredPlaceholders()))) {
         return $this;
     }
     $tags = $block->getCacheTags();
     if (empty($tags)) {
         return $this;
     }
     $key = array_search(Mage_Core_Block_Abstract::CACHE_GROUP, $tags);
     if (false !== $key) {
         unset($tags[$key]);
     }
     if (empty($tags)) {
         return $this;
     }
     $this->_processor->addRequestTag($tags);
     return $this;
 }