public function getCount($filter, $range) { if (!Mage::helper('searchanise/ApiSe')->checkSearchaniseResult(true)) { return parent::getCount($filter, $range); } $collection = $filter->getLayer()->getProductCollection(); if (!method_exists($collection, 'checkSearchaniseResult') || !$collection->checkSearchaniseResult()) { return parent::getCount($filter, $range); } return $collection->getSearchaniseRequest()->getCountAttributePrice($filter, $range); }
public function getCount($filter, $range) { if (method_exists($this, '_getFullPriceExpression')) { $select = $this->_getSelect($filter); $priceExpression = $this->_getFullPriceExpression($filter, $select); /** * Check and set correct variable values to prevent SQL-injections */ $range = floatval($range); if ($range == 0) { $range = 1; } $countExpr = new Zend_Db_Expr('COUNT(distinct e.entity_id)'); $rangeExpr = new Zend_Db_Expr("FLOOR(({$priceExpression}) / {$range}) + 1"); $select->columns(array('range' => $rangeExpr, 'count' => $countExpr)); $select->group($rangeExpr)->order("{$rangeExpr} ASC"); return $this->_getReadAdapter()->fetchPairs($select); } else { return parent::getCount($filter, $range); } }