Beispiel #1
0
 /**
  * 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;
 }
Beispiel #2
0
 /**
  * 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;
 }
Beispiel #3
0
 /**
  * Get current request id
  *
  * @return string|null
  */
 protected function _getRequestId()
 {
     return !$this->_processor ? null : $this->_processor->getRequestId();
 }
Beispiel #4
0
 /**
  * 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;
 }