/** * Render placeholder tags around the block if needed * * @param Varien_Event_Observer $observer * @return Ves_Optimize_Model_Observer */ public function renderBlockPlaceholder(Varien_Event_Observer $observer) { if (!$this->_isEnabled) { return $this; } $block = $observer->getEvent()->getBlock(); $transport = $observer->getEvent()->getTransport(); $placeholder = $this->_config->getBlockPlaceholder($block); if ($transport && $placeholder && !$block->getSkipRenderTag()) { $blockHtml = $transport->getHtml(); $request = Mage::app()->getFrontController()->getRequest(); /** @var $processor Ves_Optimize_Model_Processor_Default */ $processor = $this->_processor->getRequestProcessor($request); if ($processor && $processor->allowCache($request)) { $container = $placeholder->getContainerClass(); if ($container && !Mage::getIsDeveloperMode()) { $container = new $container($placeholder); $container->setProcessor(Mage::getSingleton('ves_optimize/processor')); $container->setPlaceholderBlock($block); $container->saveCache($blockHtml); } } $blockHtml = $placeholder->getStartTag() . $blockHtml . $placeholder->getEndTag(); $transport->setHtml($blockHtml); } return $this; }
/** * Update last visited category id cookie * * @param Ves_Optimize_Model_Processor $processor * @return Ves_Optimize_Model_Processor_Category */ protected function _updateCategoryViewedCookie(Ves_Optimize_Model_Processor $processor) { Ves_Optimize_Model_Cookie::setCategoryViewedCookieValue($processor->getMetadata(self::METADATA_CATEGORY_ID)); return $this; }
/** * Get current request id * * @return string|null */ protected function _getRequestId() { return !$this->_processor ? null : $this->_processor->getRequestId(); }
/** * Return cache page id without application. Depends on GET super global array. * * @param Ves_Optimize_Model_Processor $processor * @return string */ public function getPageIdWithoutApp(Ves_Optimize_Model_Processor $processor) { $queryParams = $_GET; ksort($queryParams); $queryParamsHash = md5(serialize($queryParams)); return $processor->getRequestId() . '_' . $queryParamsHash; }