/** * Produce and return block's html output * * It is a final method, but you can override _toHtml() method in descendants if needed. * * @return string */ public final function toHtml() { Mage::dispatchEvent('core_block_abstract_to_html_before', array('block' => $this)); if (Mage::getStoreConfig('advanced/modules_disable_output/' . $this->getModuleName())) { return ''; } /* START: Added by Cm_Diehard */ // if setBlockIsDynamic and setSuppressOutput then we automatically render only a placeholder tag. if ($this->getBlockIsDynamic() && Mage::registry('diehard_lifetime')) { if ($this->getSuppressOutput()) { return '<div id="' . substr($this->getDiehardSelector(), 1) . '"></div>'; } else { if (FALSE) { return '<!-- DIEHARD_BLOCK|' . $this->getDiehardSelector() . '|' . json_encode($this->getCacheKeyInfo()) . ' -->'; } } } /* END: Added by Cm_Diehard */ $html = $this->_loadCache(); if ($html === false) { $translate = Mage::getSingleton('core/translate'); /** @var $translate Mage_Core_Model_Translate */ if ($this->hasData('translate_inline')) { $translate->setTranslateInline($this->getData('translate_inline')); } $this->_beforeToHtml(); $html = $this->_toHtml(); $this->_saveCache($html); if ($this->hasData('translate_inline')) { $translate->setTranslateInline(true); } } $html = $this->_afterToHtml($html); /** * Check framing options */ if ($this->_frameOpenTag) { $html = '<' . $this->_frameOpenTag . '>' . $html . '<' . $this->_frameCloseTag . '>'; } /** * Use single transport object instance for all blocks */ if (self::$_transportObject === null) { self::$_transportObject = new Varien_Object(); } self::$_transportObject->setHtml($html); Mage::dispatchEvent('core_block_abstract_to_html_after', array('block' => $this, 'transport' => self::$_transportObject)); $html = self::$_transportObject->getHtml(); return $html; }
/** * Produce and return block's html output * * It is a final method, but you can override _toHtml() method in descendants if needed. * * @return string */ public final function toHtml() { Mage::dispatchEvent('core_block_abstract_to_html_before', array('block' => $this)); if (Mage::getStoreConfig('advanced/modules_disable_output/' . $this->getModuleName())) { return ''; } $html = $this->_loadCache(); if ($html === false) { $translate = Mage::getSingleton('core/translate'); /** @var $translate Mage_Core_Model_Translate */ if ($this->hasData('translate_inline')) { $translate->setTranslateInline($this->getData('translate_inline')); } $this->_beforeToHtml(); $html = $this->_toHtml(); $this->_saveCache($html); if ($this->hasData('translate_inline')) { $translate->setTranslateInline(true); } } $html = $this->_afterToHtml($html); /** * Check framing options */ if ($this->_frameOpenTag) { $html = '<' . $this->_frameOpenTag . '>' . $html . '<' . $this->_frameCloseTag . '>'; } /** * Use single transport object instance for all blocks */ if (self::$_transportObject === null) { self::$_transportObject = new Varien_Object(); } self::$_transportObject->setHtml($html); Mage::dispatchEvent('core_block_abstract_to_html_after', array('block' => $this, 'transport' => self::$_transportObject)); $html = self::$_transportObject->getHtml(); return $html; }
/** * Produce and return block's html output * * It is a final method, but you can override _toHtml() method in descendants if needed. * * @return string */ public final function toHtml() { // MSP HACK: Start /* @var $ltsCache MSP_LTS2_Model_Cache */ $ltsCache = Mage::getSingleton('msp_lts2/cache'); if ($ltsCache->isActive() && !Mage::helper('msp_lts2')->isAdminArea() && $ltsCache->canCacheAction()) { $blockName = $this->getNameInLayout(); $blockCacheHandling = $ltsCache->getBlockCacheHandling($blockName); if (in_array($blockCacheHandling, array(MSP_LTS2_Model_Rule_Cache::HANDLING_CACHE))) { $cacheKey = $ltsCache->getBlockCacheKey($blockName); if ($ltsCache->cacheItemExists($cacheKey)) { $ltsCache->setCacheBlockStatus($blockName, MSP_LTS2_Model_Cache::CACHE_STATUS_HIT); return $ltsCache->getBlockPlaceholder($blockName, true); } } } // MSP HACK: End Mage::dispatchEvent('core_block_abstract_to_html_before', array('block' => $this)); if (Mage::getStoreConfig('advanced/modules_disable_output/' . $this->getModuleName())) { return ''; } $html = $this->_loadCache(); if ($html === false) { $translate = Mage::getSingleton('core/translate'); /** @var $translate Mage_Core_Model_Translate */ if ($this->hasData('translate_inline')) { $translate->setTranslateInline($this->getData('translate_inline')); } $this->_beforeToHtml(); $html = $this->_toHtml(); $this->_saveCache($html); if ($this->hasData('translate_inline')) { $translate->setTranslateInline(true); } } $html = $this->_afterToHtml($html); /** * Check framing options */ if ($this->_frameOpenTag) { $html = '<' . $this->_frameOpenTag . '>' . $html . '<' . $this->_frameCloseTag . '>'; } /** * Use single transport object instance for all blocks */ if (self::$_transportObject === null) { self::$_transportObject = new Varien_Object(); } self::$_transportObject->setHtml($html); Mage::dispatchEvent('core_block_abstract_to_html_after', array('block' => $this, 'transport' => self::$_transportObject)); $html = self::$_transportObject->getHtml(); // MSP HACK: Start if ($ltsCache->isActive() && !Mage::helper('msp_lts2')->isAdminArea() && $ltsCache->canCacheAction()) { if (in_array($blockCacheHandling, array(MSP_LTS2_Model_Rule_Cache::HANDLING_CACHE))) { $ltsCache->setBlock($blockName, $html); } elseif (in_array($blockCacheHandling, array(MSP_LTS2_Model_Rule_Cache::HANDLING_NOCACHE))) { $ltsCache->setTmpBlock($blockName, $html); } if (in_array($blockCacheHandling, array(MSP_LTS2_Model_Rule_Cache::HANDLING_CACHE, MSP_LTS2_Model_Rule_Cache::HANDLING_NOCACHE))) { return $ltsCache->getBlockPlaceholder($blockName); } } // MSP HACK: End return $html; }