/** * @param Mage_Core_Block_Template $block * @param Mage_Core_Model_Store $store * @param Mage_Catalog_Model_Category|null $category * @param Mage_Catalog_Model_Product|null $product * @return string; */ protected function getBlockCacheKeyData($block, $store, $category = null, $product = null) { /** @noinspection PhpUndefinedMethodInspection */ $result = '|' . $this->getFilterUrl(); // covers secure, url param, page nr $result .= '|' . get_class($block); $result .= '|' . $block->getTemplate(); $customerSession = Mage::getSingleton('customer/session'); if ($customerSession instanceof Mage_Customer_Model_Session) { $result .= '|cg' . $customerSession->getCustomerGroupId(); } $result .= '|' . $store->getId(); $result .= '|' . $store->getCurrentCurrencyCode(); if ($category instanceof Mage_Catalog_Model_Category) { $result .= '|c' . $category->getId(); } if ($product instanceof Mage_Catalog_Model_Product) { $result .= '|p' . $product->getId(); } return $result; }
/** * Builds a record for a given store * * @param Mage_Core_Model_Store $store * @return array */ protected function _buildStore(Mage_Core_Model_Store $store) { $locale = preg_split('/_/', $store->getConfig('general/locale/code')); return array('webStoreName' => $store->getName(), 'webStoreId' => $store->getStoreId(), 'language' => $locale[1], 'currencyCode' => $store->getCurrentCurrencyCode(), 'url' => $store->getUrl()); }