/** * Add tracking handle to the layout * * @param Varien_Object $observer * * @return void */ public function addTrackingHandles($observer) { if (!Mage::getStoreConfig('factfinder/export/clicktracking') || !Mage::helper('factfinder/search')->getIsOnSearchPage() || !Mage::helper('factfinder')->isEnabled('tracking')) { return; } $layout = $observer->getLayout(); $update = $layout->getUpdate(); $update->addHandle('factfinder_clicktracking_enabled'); }
/** * Add suggest handle to the layout * * @param Varien_Object $observer * * @return void */ public function addSuggestHandles($observer) { if (!Mage::helper('factfinder')->isEnabled('suggest')) { return; } $layout = $observer->getLayout(); $update = $layout->getUpdate(); $update->addHandle('factfinder_suggest_enabled'); }
/** * Allows disabling page-caching by setting the cache flag on a controller * * <customer_account> * <turpentine_cache_flag value="0" /> * </customer_account> * * Events: controller_action_layout_generate_blocks_after * * @param Varien_Object $eventObject * @return null */ public function checkCacheFlag($eventObject) { if (Mage::helper('turpentine/varnish')->shouldResponseUseVarnish()) { $layoutXml = $eventObject->getLayout()->getUpdate()->asSimplexml(); foreach ($layoutXml->xpath('//turpentine_cache_flag') as $node) { foreach ($node->attributes() as $attr => $value) { if ($attr == 'value') { if (!(string) $value) { Mage::register('turpentine_nocache_flag', true, true); return; //only need to set the flag once } } } } } }