public function getMaxValue() { $searchParams = $this->getLayer()->getProductCollection()->getExtendedSearchParams(); $uniquePart = strtoupper(md5(serialize($searchParams))); $cacheKey = 'MAXVALUE_' . $this->getLayer()->getStateKey() . '_' . $uniquePart; $cachedData = Mage::app()->loadCache($cacheKey); if (!$cachedData) { $stats = $this->getLayer()->getProductCollection()->getStats($this->_getFilterField()); $max = $stats[$this->_getFilterField()]['max']; if (!is_numeric($max)) { $max = parent::getMaxValue(); } $cachedData = (double) $max; $tags = $this->getLayer()->getStateTags(); $tags[] = self::CACHE_TAG; Mage::app()->saveCache($cachedData, $cacheKey, $tags); } return $cachedData; }
public function testGetMaxValue() { $this->assertEquals(56.0, $this->_model->getMaxValue()); }