/** * CMS Page cache * * @param Mage_Cms_Block_Page $block */ public function applyCmsPage(Mage_Cms_Block_Page $block) { // The "messages" block is session-dependent, don't cache if (Mage::helper('cache')->responseHasMessages()) { $block->setData('cache_lifetime', null); return; } // Set cache tags $tags = $block->getCacheTags(); $tags[] = Mage_Cms_Model_Page::CACHE_TAG . '_' . $block->getPage()->getId(); $block->setData('cache_tags', $tags); // Set cache keys $keys = $block->getCacheKeys(); $keys[] = $block->getPage()->getId(); $keys[] = $block->getLayout()->getUpdate()->getCacheId(); $block->setData('cache_keys', $keys); }
/** * Collects list of objects in product list * * @param Mage_Cms_Block_Page $object * @return Mage_Cms_Model_Page[] */ public function collect($object) { return array($object->getPage()); }